C语言输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
时间: 2023-12-26 14:10:07 浏览: 146
可以通过遍历输入的字符串,逐个字符地进行判断,来统计其中有多少个单词,具体实现代码如下:
```c
#include <stdio.h>
#include <ctype.h> // 包含ctype.h头文件用于判断字符类型
int main() {
char str[100];
int count = 0, flag = 1;
printf("请输入一行字符:");
fgets(str, 100, stdin); // 使用fgets函数输入一行字符
// 遍历输入的字符串,逐个字符地进行判断
for (int i = 0; str[i] != '\0'; i++) {
if (isspace(str[i])) { // 如果当前字符是空格
flag = 1; // 将标志位置为1,表示下一个字符是一个新单词的开头
} else if (flag) { // 如果当前字符是非空格,并且标志位为1
count++; // 将单词计数器加1
flag = 0; // 将标志位置为0,表示当前单词已经计数完毕
}
}
printf("输入的字符串中共有%d个单词\n", count);
return 0;
}
```
需要注意的是,在判断当前字符是否为空格时,可以使用ctype.h头文件中的isspace()函数,它会判断当前字符是否为空格、制表符、换行符等空白字符。
阅读全文