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;
}

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

相关文章

  • 深入解析int(*p)[]和int(**p)[]

    深入解析int(*p)[]和int(**p)[]

    以下是对int(*p)[]和int(**p)[]的使用进行了详细的分析介绍,需要的朋友可以参考下
    2013-07-07
  • C++实现十进制数转换为二进制数的数学算法

    C++实现十进制数转换为二进制数的数学算法

    这篇文章和大家分享一下我个人对十进制数转换为二进制数的想法,目前暂时更新只整数十进制的转换,后续会更新带有小数的进制转换,代码使用c++实现
    2021-09-09
  • Qt项目打包的实现步骤

    Qt项目打包的实现步骤

    本文主要介绍了Qt项目打包的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • C++笔记之std::future的用法小结

    C++笔记之std::future的用法小结

    std::future通常由某个Provider创建,与std::async一起使用,本文主要介绍了C++笔记之std::future的用法小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • C语言实现扫雷游戏(初级版)

    C语言实现扫雷游戏(初级版)

    这篇文章主要为大家详细介绍了C语言实现扫雷游戏初级版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • c++ 虚函数,虚表相关总结

    c++ 虚函数,虚表相关总结

    这篇文章主要介绍了c++ 虚函数,虚表的的相关资料,帮助大家更好的理解和学习使用c++,感兴趣的朋友可以了解下
    2021-03-03
  • 详解C++17中类模板参数推导的使用

    详解C++17中类模板参数推导的使用

    自C++17起就通过使用类模板参数推导,只要编译器能根据初始值推导出所有模板参数,那么就可以不指明参数,下面我们就来看看C++17中类模板参数推导的具体使用吧
    2024-03-03
  • C++ 17标准正式发布! 更简单地编写和维护代码

    C++ 17标准正式发布! 更简单地编写和维护代码

    C++ 17 标准正式发布:终于能更简单地编写和维护代码了!本文为大家介绍了C ++ 17 主要特性,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • C++与Lua交互原理实例详解

    C++与Lua交互原理实例详解

    这篇文章主要介绍了C++与Lua交互原理实例详解,有感兴趣的同学可以研究下
    2021-02-02
  • 基于稀疏图上的Johnson算法的详解

    基于稀疏图上的Johnson算法的详解

    本篇文章介绍了,稀疏图上的Johnson算法的详解。需要的朋友参考下
    2013-05-05

最新评论