-
题目描述:
-
编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。
(凡是以一个或多个空格隔开的部分就为一个单词)
-
输入:
-
输入包括1行字符串,以“.”结束,字符串中包含多个单词,单词之间以一个或多个空格隔开。
-
输出:
-
可能有多组测试数据,对于每组数据,
输出字符串中每个单词包含的字母的个数。
-
样例输入:
-
hello how are you.
-
样例输出:
-
5 3 3 3
思路:
计数,主要是字符串处理。
代码:
#include <stdio.h>
#define N 10000
int main(void)
{
int m, i, j, k;
char s[N];
int a[N];
while (gets(s))
{
m = 0;
i = 0;
while(s[i] != '.')
{
j = i;
while (s[i] != ' ' && s[i] != '.')
i++;
k = i;
a[m++] = k-j;
while (s[i] == ' ')
i++;
}
if (m > 1)
printf("%d ", a[0]);
for(i=1; i<m-1; i++)
printf("%d ", a[i]);
printf("%d\n", a[m-1]);
}
return 0;
}
/**************************************************************
Problem: 1182
User: liangrx06
Language: C
Result: Accepted
Time:10 ms
Memory:912 kb
****************************************************************/