用c语言生成,输入一行字符,计算该行字符中包含多少个单词,单词之间用空格分隔开;
时间: 2023-12-26 19:12:07 浏览: 76
好的,我可以帮你解决这个问题,以下是C语言实现的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int words = 0;
int i;
printf("请输入一行字符:");
fgets(str, 100, stdin);
for (i = 0; str[i] != '\0'; i++) {
// 如果当前字符是空格或换行符,说明一个单词结束了
if (isspace(str[i]) || str[i] == '\n') {
words++;
}
}
printf("该行字符中包含 %d 个单词。\n", words);
return 0;
}
```
代码解释:
1. 首先定义一个字符数组 `str`,用于存储用户输入的一行字符;定义一个整型变量 `words`,用于存储单词数量;定义一个整型变量 `i`,用于循环计数。
2. 使用 `fgets` 函数从标准输入中读取用户输入的一行字符,并将其存储到字符数组 `str` 中。
3. 使用 `for` 循环遍历字符数组 `str`,判断每个字符是否为空格或换行符。如果是,则说明一个单词结束了,单词数量加一。
4. 遍历完整个字符数组后,输出单词数量。
需要注意的是,上述代码中使用了 `isspace` 函数来判断是否为空格字符。该函数在 C 标准库中定义,可以判断字符是否为空格字符,包括空格、制表符、换行符等。
阅读全文