请用c语言实现统计文件中每个字符出现的频率
时间: 2024-03-01 19:54:42 浏览: 37
以下是一个使用C语言实现统计文件中每个字符出现的频率的示例代码:
```c
#include <stdio.h>
#define MAX_CHAR 256
int main() {
char filename[100], ch;
int count[MAX_CHAR] = {0}, i;
FILE *fp;
// 读取文件名
printf("请输入文件名: ");
scanf("%s", filename);
// 打开文件并逐个字符统计频率
fp = fopen(filename, "r");
while ((ch = fgetc(fp)) != EOF) {
count[(int) ch]++;
}
fclose(fp);
// 输出结果
printf("字符 出现次数\n");
for (i = 0; i < MAX_CHAR; i++) {
if (count[i] > 0) {
printf("%c %d\n", i, count[i]);
}
}
return 0;
}
```
在上面的代码中,我们首先定义了一个长度为256的整数数组 `count`,用于存储每个字符在文件中出现的次数。然后,我们提示用户输入文件名,并打开文件进行读取。在读取每个字符时,我们将其转换为整数类型并将相应的计数器递增。最后,我们遍历数组并输出每个字符的出现次数。
请注意,上面的代码假定文件中只包含ASCII字符。如果您的文件包含Unicode字符或其他非ASCII字符集,则需要相应地修改代码。