用c语言写一个程序来统计名为input.txt的txt格式文件中的字母、数字、空格、词语、特殊字符的数量
时间: 2024-05-07 13:16:59 浏览: 52
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
好的,我理解了你的问题。以下是一个用C语言编写的程序,可以统计一个名为input.txt的txt格式文件中的字母、数字、空格、词语、特殊字符的数量:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char ch;
int letters = 0, digits = 0, spaces = 0, words = 0, special_chars = 0, in_word = 0;
FILE *fp = fopen("input.txt", "r");
if (fp == NULL) {
printf("Failed to open file\n");
return 1;
}
while ((ch = fgetc(fp)) != EOF) {
if (isalnum(ch)) {
if (!in_word) {
in_word = 1;
words++;
}
if (isdigit(ch)) {
digits++;
} else {
letters++;
}
} else if (isspace(ch)) {
spaces++;
in_word = 0;
} else {
special_chars++;
in_word = 0;
}
}
fclose(fp);
printf("Letters: %d\n", letters);
printf("Digits: %d\n", digits);
printf("Spaces: %d\n", spaces);
printf("Words: %d\n", words);
printf("Special Characters: %d\n", special_chars);
return 0;
}
```
运行此程序可以统计input.txt中的字母、数字、空格、词语和特殊字符的数量,并将结果输出到屏幕上。此程序使用ctype.h库来检查每个字符的类型,并使用文件输入/输出来打开和关闭input.txt文件。
阅读全文