C语言统计文本中出现的字符,以及字符出现的频率,输出结果
时间: 2023-06-19 22:05:01 浏览: 61
以下是一个简单的 C 语言程序,用于统计输入文本中每个字符的出现次数:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_CHARS 128
int main() {
// 初始化字符计数数组
int char_count[MAX_CHARS] = {0};
// 读取输入文本
char c;
while ((c = getchar()) != EOF) {
// 忽略非 ASCII 字符
if (!isascii(c)) {
continue;
}
// 统计字符出现次数
char_count[c]++;
}
// 输出结果
printf("字符\t出现次数\n");
for (int i = 0; i < MAX_CHARS; i++) {
if (char_count[i] > 0) {
printf("%c\t%d\n", i, char_count[i]);
}
}
return 0;
}
```
该程序使用一个数组 `char_count` 来记录每个 ASCII 字符出现的次数。在程序中,我们使用 `getchar()` 函数来逐个读取输入文本中的字符,然后对每个字符进行计数。最后,使用一个简单的循环来输出每个字符及其出现次数。
需要注意的是,我们在程序中使用 `isascii()` 函数来忽略非 ASCII 字符,以避免程序统计无关字符。此外,由于我们使用了一个字符数组来存储计数结果,因此该程序只能处理 ASCII 码范围内的字符,Unicode 字符需要使用其他方法处理。