编写程序统计从键盘输入的一行文本中各个字母的个数, 输入以回车键结束。不区分大小写,大写字母与相应的小写字母按照同一个字母看待。 *+输入格式:调用getchar ()函数依次输入每个字符 **输出格式: "%c(Sc) :%d\n" 例如输入以下文本: Hello orld 程序将输出: A(a):0 B(b):0 C(c):0 D(d):1 E(e):1 F():0 G(g):0 HGh):1 I():0 JG):0 K(k):0 L(1]):3 H(m):0 Nn):0 0(o):2 P(p):0 Q(q):0 R(r):1 S(a):0 T(t):0 U(w):0 V(v):0 (w):1 X(x):0 Y(y):0
时间: 2024-03-25 11:36:58 浏览: 177
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
好的,这是一个统计字符个数的程序,下面是代码:
```c++
#include <iostream>
using namespace std;
int main()
{
int cnt[26] = {0}; // 用来记录每个字母出现的次数,初始化为0
char c;
while ((c = getchar()) != '\n') // 读入每一个字符,直到遇到回车结束
{
if (c >= 'a' && c <= 'z') // 如果是小写字母,转成大写
c -= 'a' - 'A';
if (c >= 'A' && c <= 'Z') // 如果是大写字母,统计个数
cnt[c - 'A']++;
}
for (int i = 0; i < 26; i++) // 输出统计结果
{
if (cnt[i] > 0) // 只输出出现过的字母
printf("%c(Sc) :%d\n", 'A' + i, cnt[i]);
}
return 0;
}
```
程序思路和上一个一样,只不过输出时只输出出现过的字母,并且输出格式稍微改了一下。
阅读全文