C语言要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入 输入一行字符 输出 在一行中输出单词个数 样例输入 复制 Let's go to room 209.
时间: 2023-12-18 19:47:08 浏览: 35
以下是 C 语言代码实现:
```c
#include <stdio.h>
int main()
{
char c;
int count = 0, flag = 0;
// 读取每个字符,统计单词数
while ((c = getchar()) != '\n')
{
if (c == ' ' && flag)
{
// 已经读取到一个单词的结尾
count++;
flag = 0;
}
else if (c != ' ')
{
// 继续读取单词
flag = 1;
}
}
// 处理最后一个单词
if (flag)
{
count++;
}
printf("%d\n", count);
return 0;
}
```
代码思路:
- 读取每个字符,如果遇到空格,则将标记 `flag` 设为 0,表示当前单词已经结束。
- 如果遇到非空格字符,则继续读取当前单词,将标记 `flag` 设为 1。
- 如果遇到空格字符且 `flag` 为 1,则说明当前单词已经结束,将单词计数器 `count` 加 1,并将标记 `flag` 设为 0。
- 最后需要特别处理最后一个单词,如果 `flag` 为 1,则说明最后一个单词还没有统计。
对于样例输入 Let's go to room 209.,程序输出结果为 5。