用c语言编程题:分别统计一个文本文件中字母、数字及其他字符的个数。要求:通过先写(将文本先写到文件b.txt中),再读文件的方式统计。 输入输出示例: 输入文本:abcd hgh s1&&& 字母:8,数字:1,其他字符:5
时间: 2024-03-09 12:44:46 浏览: 61
好的,我可以帮你解决这个问题。以下是一个简单的 C 语言程序,可以实现你所需要的功能:
```c
#include <stdio.h>
int main() {
char ch;
int alpha_count = 0, digit_count = 0, other_count = 0;
// 先将文本写入文件
FILE *fp = fopen("b.txt", "w");
fputs("abcd hgh s1&&&", fp);
fclose(fp);
// 再读取文件并统计字符个数
fp = fopen("b.txt", "r");
while ((ch = fgetc(fp)) != EOF) {
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
alpha_count++;
} else if (ch >= '0' && ch <= '9') {
digit_count++;
} else {
other_count++;
}
}
fclose(fp);
printf("字母:%d,数字:%d,其他字符:%d\n", alpha_count, digit_count, other_count);
return 0;
}
```
程序的逻辑很简单,先将文本写入文件 `b.txt` 中,然后再读取文件中的每个字符,根据字符的 ASCII 码值来判断是字母、数字还是其他字符,并分别累加计数器。最后输出统计结果即可。
上面的程序输出结果为:
```
字母:8,数字:1,其他字符:5
```
希望这个程序能够帮助到你,如果还有其他问题,可以继续向我提问。
阅读全文