请使用c语言文件编写函数,统计英文文章的单词数量。
时间: 2023-04-07 08:01:55 浏览: 97
英文文章单词统计(C语言代码)
3星 · 编辑精心推荐
好的,这个问题可以回答。以下是一个简单的C语言函数,可以统计英文文章的单词数量:
```c
#include <stdio.h>
#include <ctype.h>
int count_words(char *filename) {
FILE *fp;
int count = 0;
char word[100];
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Error opening file.\n");
return -1;
}
while (fscanf(fp, "%s", word) != EOF) {
int i;
for (i = 0; word[i] != '\0'; i++) {
if (!isalpha(word[i])) {
break;
}
}
if (i == strlen(word)) {
count++;
}
}
fclose(fp);
return count;
}
```
这个函数接受一个文件名作为参数,返回文件中单词的数量。它使用标准库函数 `fopen` 打开文件,然后使用 `fscanf` 读取文件中的单词。对于每个单词,它检查每个字符是否是字母,如果不是,则跳过该单词。如果单词中的所有字符都是字母,则将计数器增加1。最后,它关闭文件并返回计数器的值。
注意,这个函数假设单词只包含字母,如果单词中包含数字、标点符号或其他非字母字符,则会将其视为两个单词。如果需要更精确的单词计数,请使用更复杂的算法。
阅读全文