21xrx.com
2024-09-20 05:44:05 Friday
登录
文章检索 我的文章 写文章
C++ 字母统计:如何用 C++ 统计字符串中各个字母的出现次数?
2023-06-27 13:35:11 深夜i     --     --
C++ 字母统计 出现次数 字符串 编程

在 C++ 中,要想统计字符串中各个字母的出现次数,需要使用一个数组来存储每个字母出现的次数。具体步骤如下:

1. 定义一个大小为 26 的数组,用于存储每个英文字母出现的次数,数组下标分别对应着 a 到 z 这 26 个字母,初始值都设置为 0。

2. 循环读取字符串中的每个字符,判断它是否为英文字母。

3. 如果该字符为英文字母,则将它转为小写字母,计算其在数组中的下标(即该字母离 a 字母的距离),并将对应位置上的计数器加 1。

4. 如果该字符不是英文字母,则忽略它。

5. 统计完成后,循环输出数组中每个下标对应的字母及其出现次数。

下面是示例代码:


#include <iostream>

#include <string>

using namespace std;

int main() {

  string s;

  int count[26] = {0};

  cout << "请输入字符串:";

  getline(cin, s);

  for (int i = 0; i < s.length(); i++) {

    if (isalpha(s[i])) { // 判断是否为英文字母

      char c = tolower(s[i]); // 转为小写字母

      count[c - 'a']++; // 计算出现次数

    }

  }

  for (int i = 0; i < 26; i++) {

    if (count[i] > 0) { // 只输出出现次数大于0的字母

      cout << char('a' + i) << ":" << count[i] << endl;

    }

  }

  return 0;

}

以上代码会输出类似下面的结果:


请输入字符串:Hello, World!

e:1

h:1

l:3

o:2

r:1

w:1

这表明在输入的字符串中,字母 e 出现了一次,字母 h 出现了一次,字母 l 出现了三次,字母 o 出现了两次,字母 r 和 w 各出现了一次。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复