输入格式
输入给出一行字符。
输出格式
在一行中输出单词个数。
输入样例
Let's go to room 209.
输出样例
5
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
题目分析
本体其实不难,但是void在考场上还是没有做出来。。。。。。本体的最大难点在于核心算法,输入、输出其实可以说是送分,但是核心算法中双循环与条件选择语句的叠加(比如说:输入一大段空格做开头;两个词间有大段空格等)可能会把人搅糊涂,void看了很多大佬写的代码,觉得这个算法是最简洁,也是最容易去理解的,这里,void特意画了一张图去理解这个核心算法。
C语言代码
#include<stdio.h>
int main()
{
int sum=0;//字符总数
char a;//单字检索
while(1)//死循环在使用时注意与break搭配
{
scanf("%c",&a);
if(a=='\n')
break;
else if(a!=' ')//确保开始时符号不是空格或回车
{
sum++;//检索首字母,统计单词数
while(1)//单词检索
{
scanf("%c",&a);
if(a==' '||a=='\n')//检索到词尾,这样就形成了两空格夹一个单词的形式,
break; //解决了単词间空格个数不定问题
}
}
if(a=='\n')
break;//只有当单词后为回车时结束两层循环
}
printf("%d",sum);
return 0;
}
运行截图