本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
#include<stdio.h>
int main()
{
int count;
char ch;
count = 0;
ch = getchar();
while(ch!='\n'){
if(ch!=' '){//若是字符
do{
ch = getchar();
if(ch=='\n') break;//看到换行符就退出循环
}while(ch!=' ');
count++;//字符串结束,下个是空格,算1个单词
}
if(ch==' '){//若是空格
do{
ch = getchar();
}while(ch==' ');//相当于去掉空格
}//空格之后又开始输入字符
}
printf("%d",count);
return 0;
}
思路:先统计字符,一个字符串算1个单词(也就是说字符串下一个字符是空格),再统计空格,空格结束的标志就是出现了字符,再统计字符,继续循环,在统计字符和空格的时候,一旦碰到换行符,立即退出,得到单词数