题目描述
编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。 (凡是以一个或多个空格隔开的部分就为一个单词)
输入描述:
输入包括1行字符串,以“.”结束,字符串中包含多个单词,单词之间以一个或多个空格隔开。
输出描述:
可能有多组测试数据,对于每组数据, 输出字符串中每个单词包含的字母的个数。
示例1
输入
复制
hello how are you.
输出
复制
5 3 3 3
#include <stdlib.h>
#include <stdio.h>
int main()
{
char a;
int cnt = 0;
while((a = getchar())!=EOF)
{
if(a==' '||a == '.')
{
printf("%d ", cnt);
cnt = 0;
}
else
cnt++;
}
printf("\n");
return 0;
}
//getchar非常好用。不需要存储,边读入边处理。
//while循环的判断条件不能是(a = getchar())!='.' 这样的话,最后一个单词就不好统计了。
//EOF 我理解为一次回车。不知道对不对