地址:
http://ac.jobdu.com/problem.php?pid=1182
题目描述:
编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。
(凡是以一个或多个空格隔开的部分就为一个单词)
输入:
输入包括1行字符串,以“.”结束,字符串中包含多个单词,单词之间以一个或多个空格隔开。
输出:
可能有多组测试数据,对于每组数据,
输出字符串中每个单词包含的字母的个数。
样例输入:
hello how are you.
样例输出:
5 3 3 3
来源:
2002年华中科技大学计算机研究生机试真题
源码:
#include<stdio.h>
char str[ 10000 ];
int main(){
while( gets( str ) ){
int i = 0;
int lenWord = 0; //统计每个单词的长度
while( str[ i ] != '.' ){ //遍历字符串,直到遇到'.'
if( str[ i ] != ' ' ){ //如果这个字符不是空格
lenWord ++;
}
else{ //如果这个字符是空格
if( lenWord != 0 ){
printf( "%d ", lenWord );
}
lenWord = 0; //单个单词的长度清0
}
i++; //下一个字符
}
//通过上面的循环,最后一个单词无法输出
if( lenWord != 0 ){
printf( "%d\n", lenWord );
}
else{
printf( "\n" );
}
}
}
/**************************************************************
Problem: 1182
User: 螺小旋
Language: C++
Result: Accepted
Time:10 ms
Memory:1032 kb
****************************************************************/