- 题目描述:
-
编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。
(凡是以一个或多个空格隔开的部分就为一个单词)
- 输入:
-
输入包括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 ", a[m-1]); } return 0; } /************************************************************** Problem: 1182 User: liangrx06 Language: C Result: Accepted Time:10 ms Memory:912 kb ****************************************************************/