实现程序:统计文本文件中的单词数和字符个数(不计算行末回车符)。单词指的是仅由英文字母组成的串,如:is7years这样的串按照两个单词计算。 【输入形式】 读取当前目录下文本文件in.txt,以统计该文件中单词和字符个数。 【输出形式】 输出in.txt中单词和字符个数,中间以一个空格分隔。.c
时间: 2024-02-17 19:59:59 浏览: 189
编写一个程序,用于统计文件中单词的总数,不同单词的数目。(假设输入文件中只包含字母和空格)
5星 · 资源好评率100%
好的,根据您的要求,我可以给您提供以下代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
FILE *infile;
char ch;
int word_count = 0, char_count = 0;
int in_word = 0;
// 打开文件
infile = fopen("in.txt", "r");
if (infile == NULL) {
printf("无法打开文件!\n");
return 1;
}
// 统计单词数和字符数
while ((ch = fgetc(infile)) != EOF) {
if (isalpha(ch)) { // 如果是字母
char_count++;
if (!in_word) { // 如果不在单词中
in_word = 1;
word_count++;
}
} else { // 如果不是字母
if (ch == '\n') { // 如果是行末回车符,则不计入字符数和单词数
continue;
}
char_count++;
in_word = 0;
}
}
// 关闭文件
fclose(infile);
// 输出结果
printf("单词数:%d,字符数:%d\n", word_count, char_count);
return 0;
}
```
你可以将以上代码保存为一个 C 语言源文件,然后通过编译器进行编译,最后运行即可。在程序运行时,会读取当前目录下的in.txt文件,统计其中的单词数和字符数,并将结果输出到控制台。
阅读全文