21xrx.com
2025-04-27 20:20:28 Sunday
文章检索 我的文章 写文章
C++统计字符串中字母出现次数
2023-07-05 07:38:25 深夜i     23     0
C++ 统计 字符串 字母 出现次数

在C++语言中,统计字符串中字母出现次数是一个常见的问题。统计字母出现次数可以帮助我们更好地理解字符串的特征,也可用于分析文本和模式匹配等应用。

下面是一个简单的C++程序,统计一段文本中各个字母出现的次数:

#include<iostream>
#include<string>
using namespace std;
int main()
{
  string str = "Hello, world! This is a sample text.";
  int count[26] = {0}; // 用数组存储字母出现次数
  // 遍历整个字符串
  for (int i = 0; i < str.length(); i++)
  {
    // 将所有字母都转换成大写
    char c = toupper(str[i]);
    // 只统计A~Z中的字母
    if (c >= 'A' && c <= 'Z')
    {
      count[c - 'A']++; // 对应字母的计数器加1
    }
  }
  // 输出各字母出现次数
  for (int i = 0; i < 26; i++)
  {
    if (count[i] > 0)
    {
      cout << (char)(i + 'A') << ": " << count[i] << endl;
    }
  }
  return 0;
}

上述程序首先定义一个字符串`str`,然后定义一个大小为26的数组`count`,用于统计各个字母出现次数。接着,程序遍历整个字符串`str`,将所有字母都转换成大写,然后对A~Z中的字母进行计数。最后,程序输出各字母出现次数。

运行以上程序,将输出以下结果:

E: 3
H: 1
I: 4
L: 4
O: 4
R: 2
S: 3
T: 6
W: 1

以上结果表明,`str`中E出现3次,H、I、L、O、S分别出现1、4、4、4、3次,R出现2次,T出现6次,W出现1次。

总之,统计字符串中字母出现次数是一项基础但常见的任务。利用C++中的字符串和数组,我们可以方便地完成这个任务。

  
  

评论区

请求出错了