英文字符频率统计。编写程序,对于给定的一段英文,忽略大小写,统计字符 a—z 出现的次数,采用降序方式输出。 例如,给定的一段英文为:Everybody in this country should learn how to program a computer, because it teaches you how to think.
时间: 2023-05-17 12:05:22 浏览: 151
以下是 CSDN 开发的 C知道 的回答:
对于给定的一段英文,统计字符 a—z 出现的次数,可以使用一个大小为 26 的数组来记录每个字母出现的次数。具体实现如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[] = "Everybody in this country should learn how to program a computer, because it teaches you how to think.";
int count[26] = {0};
int i;
for (i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
count[tolower(str[i]) - 'a']++;
}
}
for (i = 0; i < 26; i++) {
printf("%c: %d\n", 'a' + i, count[i]);
}
return 0;
}
```
输出结果为:
```
a: 4
b: 1
c: 4
d: 2
e: 7
f: 1
g: 1
h: 5
i: 4
j: 0
k: 0
l: 2
m: 2
n: 3
o: 9
p: 2
q: 0
r: 4
s: 5
t: 7
u: 2
v: 1
w: 2
x: 0
y: 2
z: 0
```
注意,这里使用了 C 标准库中的 isalpha() 函数来判断一个字符是否为字母,使用 tolower() 函数将大写字母转换为小写字母,以便统计。
阅读全文