2444 - 最长最短单词
题目描述
输入一行长度不超过250位的字符串,其中只有小写字母和空格,小写字母组成单词,单词之间只用一个空格隔开,字符串的开始和结束都没有多余空格,输出长度最长的单词和最短的单词,若有多个单词符合要求,只要求输出从前往后数第一个满足要求的单词。
输入
输入文件只有一行字符串,由小写字母和空格组成。
输出
输出文件有两行,第一行为最长的单词,第二行为最短的单词。
样例
输入
this is my book
输出
this
is
标签
字符串
#include<bits/stdc++.h>
using namespace std;
int main() {
string a;
int i,len,l=0,max=0,min=101,x,y;
getline(cin,a);
len=a.size();
a[len]=' ';
for(i=0; i<=len; i++) {
if(a[i]!=' '&&a[i]!=',') {
l++;
} else if(l>0) {
if(l>max) {
max=l;
x=i-l;
}
if(l<min) {
min=l;
y=i-l;
}
l=0;
}
}
for(i=x; i<max+x; i++)
cout<<a[i];
cout<<endl;
for(i=y; i<min+y; i++)
cout<<a[i];
return 0;
}
测试点1: Accepted, 用时: 0 ms, 内存: 256 KB
测试点2: Accepted, 用时: 0 ms, 内存: 256 KB
测试点3: Accepted, 用时: 0 ms, 内存: 256 KB
测试点4: Accepted, 用时: 0 ms, 内存: 256 KB
测试点5: Accepted, 用时: 0 ms, 内存: 252 KB
测试点6: Accepted, 用时: 0 ms, 内存: 252 KB
测试点7: Wrong Answer, 用时: 0 ms, 内存: 256 KB
各位朋友,帮我看一下这个代码哪里错了!