c语言 文本文件单词统计
时间: 2023-10-23 22:17:05 浏览: 90
以下是一个简单的C语言程序,用于统计文本文件中单词的数量:
```
#include <stdio.h>
#include <ctype.h>
int main()
{
FILE *fp;
char filename[100];
char c;
int count = 0;
int inword = 0;
printf("Enter the filename: ");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Error opening file\n");
return 1;
}
while ((c = fgetc(fp)) != EOF) {
if (isspace(c)) {
inword = 0;
} else if (!inword) {
inword = 1;
count++;
}
}
fclose(fp);
printf("There are %d words in the file\n", count);
return 0;
}
```
该程序首先提示用户输入文件名,然后打开该文件并逐个读取其字符。每当程序遇到空格、制表符或换行符时,它将设置一个变量inword为0,表示当前不在单词中。否则,如果当前不在单词中且遇到了一个非空格字符,程序将设置inword为1,并将单词计数器count加1。最后,程序输出单词计数器的值。
注意,该程序仅计算连续的非空格字符组成的单词数量,因此它可能会将标点符号作为单词的一部分计算。如果您希望避免这种情况,可以修改程序以考虑其他字符类型。
阅读全文