本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
解题思路:
特别要注意的是,不能通过计算“空格的数量再加一”这样的方式来计算单词的数量!!
因为可能存在Today is a good day!这样的形式。
这个时候连续的多空格只能当作一个空格,那么怎么做到?可以通过while循环,大while用来跳出换行结尾,小while用来跳出多个空格
代码:
#include<stdio.h>
int main(){
int sum=0;
char ch;
while(1){
scanf("%c",&ch);
if(ch=='\n'){
break;
}else if(ch!=' '){
sum++;
while(1){
scanf("%c",&ch);
if(ch==' '||ch=='\n'){
break;
}
}
}
if(ch=='\n'){
break;
}
}
printf("%d",sum);
return 0;
}