输入一行字符,统计其中有多少个单词,单词之间是用空格分隔开。c语言
时间: 2023-12-26 09:26:53 浏览: 130
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
以下是C语言统计一行字符中单词个数的代码:
```c
#include <stdio.h>
#include <ctype.h>
#define IN 1
#define OUT 0
int main() {
int c, state = OUT, count = 0;
printf("请输入一行字符,单词之间用一个空格分隔开\n");
while ((c = getchar()) != EOF) {
if (isspace(c)) {
state = OUT;
} else if (state == OUT) {
state = IN;
count++;
}
}
printf("该行字符有%d个单词\n", count);
return 0;
}
```
代码思路:
1. 定义两个常量IN和OUT,分别表示在单词内和单词外。
2. 定义变量c、state和count,其中c表示当前读入的字符,state表示当前状态,count表示单词个数。
3. 读入字符,如果是空格、制表符或换行符,则将状态设置为OUT。
4. 如果不是空格、制表符或换行符,且当前状态为OUT,则将状态设置为IN,并将单词个数加1。
5. 重复步骤3和4,直到读入EOF。
阅读全文