问题遇到的现象和发生背景
24:单词的长度
总时间限制: 1000ms 内存限制: 65536kB
描述
输入一行单词序列,相邻单词之间由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
来源
习题(7-7) 元培-From WHF
问题相关代码,请勿粘贴截图
#include<bits/stdc++.h>
using namespace std;
int ql(string s)
{
for(int i=0;i<strlen(s.c_str());i++)
{
if(s[i]==' '&s[i+1]==' ')
{
s.erase(i,1);
i--;
}
}
}
int main()
{
string s;
getline(cin,s);
ql(s);
int g=0,zg[300]={0};
for(int i=0;i<strlen(s.c_str());i++)
{
if(s[i]!=' ')
{
zg[g]++;
}
else
{
g++;
}
}
bool f=true;
for(int i=0;i<300;i++)
{
if(zg[i]!=0)
{
if(f==true)
{
cout<<zg[i];
f=false;
}
else
{
cout<<','<<zg[i];
}
}
}
return 0;
}
运行结果及报错内容
试运行没问题,但在OJ上就runtime error了