用C语言写一个统计一篇英文短文中单词的个数的代码,要求用户可以在命令行输入长句子,代码要求有注释
时间: 2024-02-22 21:57:09 浏览: 96
C语言统计一篇英文短文中单词的个数实例代码
以下是用 C 语言实现统计英文短文中单词个数的代码,代码中有注释解释每一步的作用。
```c
#include <stdio.h>
#include <ctype.h> // 包含 isalpha() 函数
#define MAX_LEN 1000 // 定义最大输入长度
int main() {
char sentence[MAX_LEN]; // 定义一个字符数组存储输入的句子
int word_count = 0, in_word = 0, i = 0; // 定义单词个数、是否在单词中、循环计数器
printf("请输入一个英文句子:");
// 使用 fgets() 函数从标准输入中读取一行字符串
fgets(sentence, MAX_LEN, stdin);
// 遍历整个字符串,计算单词个数
while (sentence[i] != '\0') {
if (isalpha(sentence[i])) {
// 如果当前字符是字母,则表示在一个单词中
in_word = 1;
} else {
// 如果当前字符不是字母,但之前的字符在单词中,则表示一个单词结束
if (in_word == 1) {
word_count++;
in_word = 0;
}
}
i++;
}
// 如果最后一个字符是字母,则还需要再计算一次单词个数
if (in_word == 1) {
word_count++;
}
printf("单词个数为:%d\n", word_count);
return 0;
}
```
这个代码使用 `isalpha()` 函数判断字符是否是字母,如果是则表示当前在一个单词中。如果不是字母,但之前的字符是字母,则表示一个单词结束,需要增加单词数量。最后再判断一次,如果最后一个字符是字母,则还需要再增加一个单词数量。
阅读全文