C++计算每个字符出现的次数

 更新时间:2016年05月02日 17:52:18   作者:王勋广  
这篇文章主要介绍了C++计算每个字符出现的次数的相关资料,需要的朋友可以参考下

本文实例为大家分享了C++计算每个字符出现的次数的实现代码,供大家参考,具体内容如下

#include <iostream>
//#include <cstdlib>
#include <ctime>
using namespace std;
 
const int NUMBER_OF_LETTERS = 26;
const int NUMBER_OF_RANDOM_LETTERS = 100;
void createArray(char []);
void displayArray(const char []);
void countLetters(const char [], int []);
void displayCounts(const int []);
 
int main()
{
  char chars[NUMBER_OF_RANDOM_LETTERS];
  createArray(chars);
  cout << "The lowercase letters are:" << endl;
  displayArray(chars);
  int counts[NUMBER_OF_LETTERS];
  countLetters(chars, counts);
  cout << "\nThe occurrences of each letter are:" << endl;
  displayCounts(counts);
 
  return 0;
}
 
void createArray(char chars[])
{
  srand((unsigned int)time(0));
  for (int i = 0; i < NUMBER_OF_RANDOM_LETTERS; i++)
  {
    chars[i] = static_cast<char>('a' + rand() % ('z' - 'a' + 1));
  }
}
 
void displayArray(const char chars[])
{
  for (int i = 0; i < NUMBER_OF_RANDOM_LETTERS; i++)
  {
    if ((i + 1) % 20 == 0)
      cout << chars[i] << " " << endl;
    else
      cout << chars[i] << " ";
  }
}
 
void countLetters(const char chars[], int counts[])
{
  for (int i = 0; i < NUMBER_OF_LETTERS; i++)
    counts[i] = 0;
  for (int i = 0; i < NUMBER_OF_RANDOM_LETTERS; i++)
    counts[chars[i] - 'a']++; //经典
}
 
void displayCounts(const int counts[])
{
  for (int i = 0; i < NUMBER_OF_LETTERS; i++)
  {
    if ((i + 1) % 10 == 0)
      cout << counts[i] << " " << static_cast<char>(i + 'a') << endl;
    else
      cout << counts[i] << " " << static_cast<char>(i + 'a') << " ";
  }
  cout << endl;
}

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

  • 推荐几款C/C++的编译器、编译环境(非常全面的比较)

    推荐几款C/C++的编译器、编译环境(非常全面的比较)

    这篇文章主要介绍了C/C++编译器的一些易混淆概念,这里脚本之家小编特为大家分享一下,需要的朋友可以参考下
    2021-06-06
  • 详解C++ 引用

    详解C++ 引用

    这篇文章主要介绍了C++ 引用的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Qt一个进程运行另一个进程的实现方法

    Qt一个进程运行另一个进程的实现方法

    本文主要介绍了Qt一个进程运行另一个进程的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • C语言文件操作入门指南

    C语言文件操作入门指南

    我们在想既然是通讯录就应该把信息记录下来,只有我们自己选择删除数据的时候,数据才不复存在,这就涉及到了数据持久化的问题,我们一般数据持久化的方法有,把数据存放在磁盘文件、存放到数据库等方式,使用文件我们可以将数据直接存放在电脑的硬盘上,做到了数据的持久化
    2024-08-08
  • windows上安装CLion教程及简单使用详解

    windows上安装CLion教程及简单使用详解

    这篇文章主要介绍了windows上安装CLion教程及简单使用,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Qt调用MATLAB引擎混合编程的过程详解

    Qt调用MATLAB引擎混合编程的过程详解

    这篇文章给大家介绍了Qt调用MATLAB引擎混合编程的全过程,文中通过图文结合的方式给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • c++动态库调用的实现

    c++动态库调用的实现

    本文主要介绍了c++动态库调用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • C++实现简单的计算器小功能

    C++实现简单的计算器小功能

    这篇文章主要为大家详细介绍了C++实现简单的计算器小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Qt下调用vlc库实现RTSP拉流播放和截图过程详解

    Qt下调用vlc库实现RTSP拉流播放和截图过程详解

    这篇文章主要为大家介绍了Qt下调用vlc库实现RTSP拉流播放和截图过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • C语言实现学生打卡系统

    C语言实现学生打卡系统

    这篇文章主要为大家详细介绍了C语言实现学生打卡系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12

最新评论