题目1182:统计单词
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4780
解决:1764
-
题目描述:
-
编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。
(凡是以一个或多个空格隔开的部分就为一个单词)
-
输入:
-
输入包括1行字符串,以“.”结束,字符串中包含多个单词,单词之间以一个或多个空格隔开。
-
输出:
-
可能有多组测试数据,对于每组数据,
输出字符串中每个单词包含的字母的个数。
-
样例输入:
-
hello how are you.
-
样例输出:
-
5 3 3 3
1 #include <iostream> 2 #include <string> 3 #include <vector> 4 using namespace std; 5 6 int main(){ 7 string s; 8 int l; 9 vector<int> v; 10 while(getline(cin,s)){ 11 v.clear(); 12 int len = s.length(); 13 if(len == 1) 14 v[0] = 0; 15 for(int i = 0; i < len - 1;){ 16 l = 0; 17 while(s[i] != ' ' && i < len - 1){ 18 l++; 19 i++; 20 } 21 v.push_back(l); 22 while(s[i] == ' ' && i < len - 1) 23 i++; 24 } 25 cout << v[0]; 26 for(int i = 1; i < v.size(); i++) 27 cout << " " << v[i]; 28 cout << endl; 29 } 30 return 0; 31 }