【题目描述】
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。
注意:如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。
【输入】
一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔。单词序列总长度不超过1000。
【输出】
依次输出对应单词的长度,之间以逗号间隔。
【输入样例】
She was born in 1990-01-02 and from Beijing city.
【输出样例】
3,3,4,2,10,3,4,7,5
【代码】
#include<bits/stdc++.h>
using namespace std;;
int main()
{
int sum=0,len;
string a;
getline(cin,a);
len=a.length();
for(int i=0;i<len;i++)
{
if(a[i]!=' ')//不是空格
sum++;//累加
else//否则
{
if(sum!=0)//前面收集到数了
cout<<sum<<",";//输出
sum=0;//归0
}
}
cout<<sum;//按规则输出后面的数
return 0;
}
【后言】
本来以为这题要搞累加组 看了别人做法才知道 遇上空格直接累加器归零