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++命名空间实例详解,有感兴趣的同学可以研究下
    2021-02-02
  • 关于memcpy和memmove的一点重要说明

    关于memcpy和memmove的一点重要说明

    下面小编就为大家带来一篇关于memcpy和memmove的一点重要说明。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • C语言项目全正整数后再计算的三种参考解答方法

    C语言项目全正整数后再计算的三种参考解答方法

    今天小编就为大家分享一篇关于C语言项目全正整数后再计算的三种参考解答方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • C语言实现链栈的步骤

    C语言实现链栈的步骤

    链栈是栈的链式存储结构,链栈可以用单链表的头插法实现,本文主要讲述了如何用c语言去实现链栈,感兴趣的朋友可以了解下
    2021-05-05
  • 求解旋转数组的最小数字

    求解旋转数组的最小数字

    这篇文章主要介绍了求解旋转数组的最小数字的相关资料,需要的朋友可以参考下
    2017-05-05
  • C语言中的参数传递机制详解

    C语言中的参数传递机制详解

    这篇文章主要介绍了C语言中的参数传递机制,C语言中函数参数的传递有:值传递、地址传递、引用传递这三种形式。下面我们详细探讨下
    2017-04-04
  • C++实现LeetCode(647.回文子字符串)

    C++实现LeetCode(647.回文子字符串)

    这篇文章主要介绍了C++实现LeetCode(647.回文子字符串),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++实现的多重继承功能简单示例

    C++实现的多重继承功能简单示例

    这篇文章主要介绍了C++实现的多重继承功能,结合简单实例形式分析了C++面向对象程序设计中类的定义与继承相关操作实现技巧,需要的朋友可以参考下
    2018-05-05
  • C++中四种对象生存期和作用域以及static的用法总结分析

    C++中四种对象生存期和作用域以及static的用法总结分析

    以下是对C++中四种对象生存期和作用域以及static的用法进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09
  • C语言编一个数字益智小游戏

    C语言编一个数字益智小游戏

    这篇文章主要介绍了C语言编一个数字益智小游戏,本文通过实例截图的形式给大家展示的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01

最新评论