c语言输入一行英文句子,统计其中的单词个数(这里的单词是指有>=1个大小写字母连续出现所组成的子串,非大小写字母出现可认为一个单词结束)。句子长度不超过50。
时间: 2024-06-13 07:09:21 浏览: 80
以下是C语言统计一行英文句子中单词个数的代码:
```c
#include <stdio.h>
#include <ctype.h> // 包含ctype.h头文件,用于判断字符是否为字母
int main() {
char sentence[51]; // 声明字符数组,存储输入的句子
int word_count = 0; // 声明变量,用于统计单词数
int in_word = 0; // 声明变量,用于标记是否在单词中
printf("请输入一行英文句子:");
fgets(sentence, 51, stdin); // 使用fgets函数获取输入的句子
for (int i = 0; sentence[i] != '\0'; i++) { // 循环遍历句子中的每个字符
if (isalpha(sentence[i])) { // 如果当前字符是字母
if (!in_word) { // 如果不在单词中,即新的单词开始
word_count++; // 单词数加1
in_word = 1; // 标记为在单词中
}
} else { // 如果当前字符不是字母
in_word = 0; // 标记为不在单词中
}
}
printf("单词数为:%d\n", word_count); // 输出单词数
return 0;
}
```
阅读全文