输入一行单词序列,相邻单词之间由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
答案:
不等于空格 sum++
等于空格 输出
最后面一个单词后没有空格了,所以后面要再输出一次
#include<bits/stdc++.h>
#include<string.h>
using namespace std;
string s;
int main()
{
getline(cin,s);
int sum=0,f=1,i;
for(i=0;i<s.size();i++)
{
if(s[i]!=' ') sum++;
else if(s[i]==' '&&sum!=0) // 条件&&
{
if(f==1) {cout<<sum;
f=0;
}
else if(f==0) cout<<","<<sum;
sum=0;
}
}
cout<<","<<sum; // 输出最后一个
return 0;
}