单词统计:
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
题目分析:
看着很简单的一道题,只需要统计空格个数加1就是答案了,可这其中也有些 小点:
1.循环结束的条件
循环的条件需要用换行字符作为终止条件。
2.如果只有一个单词,打多个空格如何处理
错误示范:
while((ch=getchar())!='\n') {
if (ch==' ') {
count++;
}
}
这样会导致出问题二:
这时候需要一个flag帮你确定读入的空格到底加不加入count里面:
while((ch=getchar())!='\n') {
if (ch==' ') {//为保证是单词之后,再进行单词统计
flag=0;
} else if (flag==0) {
flag=1;
count++;
}
}
当读入一个空格之后,flag=0,如果接下来输入的是英语单词的字母,那么就给count+1,再将flag恢复原状,如果是空格,那么还是flag=0,如果是回车,那么结束,也不会给count+1