实验6-9 统计一行文本的单词个数 (15 分)
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
#include <stdio.h>
int main()
{
int cnt=0,flag=0,flag1=0;
char chr;
scanf("%c",&chr);
do{
scanf("%c",&chr);
if(chr==' ') cnt++; //有空格时cnt+1
while(chr==' '){ //多个空格时进入循环,chr非空格跳出
scanf("%c",&chr);
if(chr=='\n'){ //换行时进入统计判断
if(flag==0){
flag1=1; //全空格时flag1置1
break;
}
else{
cnt--; //以空格结尾时cnt-1
break;
}
}
flag=1; //1个最短单词,后有空格
}
flag=1; //1个最短单词,前有空格
}while(chr!='\n');
if(flag1==1) printf("0");
else printf("%d",cnt+1);
return 0;
}
注:pta编程例题,仅提供参考思路,代码可能存在个别bug