C语言读入文本文件,统计所有字母字符(不区分大小写)的出现频率;
时间: 2024-11-09 09:24:22 浏览: 37
深入C语言把文件读入字符串以及将字符串写入文件的解决方法
在C语言中,要统计文本文件中字母字符(不区分大小写)的出现频率,你可以按照以下步骤操作:
1. 打开文件:首先需要使用`fopen()`函数打开文件,检查是否成功。
```c
FILE *file = fopen("filename.txt", "r");
if (file == NULL) {
// 文件打开失败,处理错误
}
```
2. 读取文件内容:接着使用`fgetc()`或者`fgets()`逐个读取文件中的字符,转换为小写形式,并计数。
```c
int frequency[26]; // 假设只考虑英文字母,所以是26个位置
memset(frequency, 0, sizeof(frequency)); // 初始化计数数组
while (!feof(file)) {
char c = tolower((char)fgetc(file));
if (c >= 'a' && c <= 'z') { // 只统计字母
frequency[c - 'a']++;
}
}
```
3. 关闭文件:完成统计后别忘了关闭文件。
```c
fclose(file);
```
4. 输出结果:遍历数组并打印每个字母及其对应的出现次数。
```c
for (int i = 0; i < 26; i++) {
printf("%c appears %d times.\n", 'a' + i, frequency[i]);
}
```
阅读全文