计算机考研复试真题 统计单词

题目描述

编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。 (凡是以一个或多个空格隔开的部分就为一个单词)

输入描述:

输入包括1行字符串,以“.”结束,字符串中包含多个单词,单词之间以一个或多个空格隔开。

输出描述:

可能有多组测试数据,对于每组数据,
输出字符串中每个单词包含的字母的个数。
示例1

输入

hello how are you.

输出

5 3 3 3





/*
程序设计思想:使用动态数组vector来做,类似于C++的split函数,这是条件为空格*/
#include<iostream>
#include<string>
#include<vector>
 
using namespace std;
 
int main(){
    string input;
    vector<int>arr;
    int s=0;    //用来存分割的字符串的长度
    while(getline(cin,input)){   //注意这里读取字符串的方式,为了读入空格用getline(cin,input)
        for(int i=0;i<input.size();++i){
            if(input[i]==' '||input[i]=='.'){
                arr.push_back(s);
                s=0;
            }else{
                s++;
            }
        }
        for(int j=0;j<arr.size();++j){
            cout<<arr[j]<<" ";
        }
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/parzulpan/p/9948756.html