九度oj 题目1182:统计单词

题目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 }
 
原文地址:https://www.cnblogs.com/qinduanyinghua/p/6502205.html