本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let’s go to room 209.
输出样例:
5
按照学习顺序,遇到此题时未学习数组等知识,因此这里不使用它们。
题目分析及思路:
1.题设定义的单词是指除了空格与回车外的所有字符串。故不需要将输入的字符限制在字母和数字范围内。
2.在不考虑数组的情况下,只能定义字符变量,用一个循环来进行输入,后输入的字符会覆盖前一个,因此计数要同步进行,以空格和回车为计数标准,这也是本题不使用数组的难点。
3.题目允许连续空格的情况,为避免连续的空格导致重复计数,选择在出现空格后进入循环,连续输入空格直到输入回车或应计数的字符。
4.考虑到以下特殊情况:a.若在连续空格后遇到回车,要跳出连续空格循环和字符输入循环输出结果。b.若首先输入回车,需要直接输出0。选择使用goto语句比较方便,还可以避免使用标志变量。
代码实现如下:
#include <stdio.h>
int main()
{
int cnt=0;
char a;