题目描述
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
输入
一行句子。
输出
第1行,第一个最长的单词。
第2行,第一个最短的单词。
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int i,t=0,l;
int a1=0,a2=100;
string s1,s2;
string s;
getline(cin,s);
s=s+" ";
l=s.length();
for(i=0;i<l;i++)
{
if(s[i]!=' ')
{
t++;
}
else
{
if(t!=0)//只要它的长度不是0就输出
if(t<a2){
a2=t;
s2=s.substr(i-t,t);
}
else if(t>a1){
a1=t;
s1=s.substr(i-t,t);
}
t=0;
}
}
cout<<s1<<endl;
cout<<s2<<endl;
return 0;
}