21xrx.com
2025-07-09 12:30:33 Wednesday
登录
文章检索 我的文章 写文章
C++ 实现英文字母计数器:统计一个字符数组中 26 个英文字母出现的次数
2023-07-08 20:21:58 深夜i     14     0
C++ 英文字母计数器 字符数组 统计次数 26个字母

计数器在我们的日常生活中随处可见,从可以计算我们每天所消耗的卡路里到可以计算我们所花费的时间,计数器的使用早已变得司空见惯。而对于程序员,计数器也同样是一种强大的工具,可以用来解决各种问题。在本文中,我们将讨论如何利用C++实现一个英文字母计数器。

英文字母计数器是一个常用的工具,它可以用来统计一个字符数组中26个英文字母出现的次数。例如,当我们有一个字符数组如下所示:

char sample[] = "Hello, World!";

我们可以通过英文字母计数器来计算该字符数组中每个英文字母出现的次数。实现这个计数器的方法有很多种,但是其中一种比较简单的方法是使用一个长度为26的数组,用来存储每个英文字母出现的次数。

下面是英文字母计数器的实现代码:

#include<iostream>
#include<cstring>
using namespace std;
void count_letter(char* str) {
  int count[26] = { 0 };
  int length = strlen(str);
  for (int i = 0; i < length; i++) {
    if (isalpha(str[i])) {
      count[tolower(str[i]) - 'a']++;
    }
  }
  for (int i = 0; i < 26; i++) {
    if (count[i]) {
      cout << (char)(i + 'a') << ": " << count[i] << endl;
    }
  }
}
int main() {
  char sample[] = "Hello, World!";
  count_letter(sample);
  return 0;
}

上面的代码中,我们首先定义了一个大小为26的整型数组count,用来存储每个英文字母出现的次数。接下来,我们计算给定字符数组的长度,并在一个循环中遍历该字符数组。在该循环中,我们使用isalpha()函数来判断当前字符是否为一个英文字母,如果是,我们就使用tolower()函数将该字符转化为小写字母,并计算该字母在count数组中的索引位置,然后对应的计数器加1。

当数组遍历完成后,我们再次循环count数组,打印每个英文字母及其出现的次数。运行该程序,我们将会得到下面的输出结果:

d: 1
e: 1
h: 1
l: 3
o: 2
r: 1
w: 1

上面的输出结果显示了给定字符数组中每个英文字母出现的次数。通过C++实现一个英文字母计数器,不仅可以很方便地统计一个字符数组中每个英文字母出现的次数,还可以为我们的日常开发工作提供支撑。

  
  

评论区

    相似文章