编写一个程序要求用户输入一段英文句子,然后统计并输出该句子中单词的数量,假设单词之间有空格分格标点符号不会出现在单词之间用C语言怎么写?
时间: 2024-12-02 12:20:17 浏览: 5
在C语言中,你可以使用标准库函数如`getchar()` 和 `isspace()` 来编写这样一个简单的程序。这里是一个基本的示例:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int word_count = 0;
char c;
// 读取用户输入直到遇到换行符
while ((c = getchar()) != '\n') {
if (isalpha(c)) { // 检查字符是否为字母(忽略大小写)
c = tolower(c); // 转换为小写字母以便统一计数
++word_count; // 碰到字母就增加词数
}
}
printf("The sentence contains %d words.\n", word_count);
return 0;
}
```
这个程序逐个读取用户的输入,每次遇到字母时(通过`isalpha()`检查),将其转换为小写(`tolower()`),然后增加单词计数。注意,此代码仅计算由字母组成的单词,其他字符(如数字、标点符号)将不计入。
阅读全文