#include<bits/stdc++.h>
using namespace std;
int The_s;
int mini=1e9;
int maxi=-1e9;
int main(){
string s;
getline(cin,s);
istringstream iss(s);
string word;
string word_min;
string word_max;
for(int i=0; i<=s.size()-1; ++i){
if(s[i]==' '){
The_s++;
}
}
cout<<The_s<<endl;
//mini
for(int i=1; i<=The_s; ++i){
iss>>word_min;
if(word_min.size()<=mini){
mini=word_min.size();
}
}
//max
for(int i=1; i<=The_s; ++i){
iss>>word_max;
if(word_max.size()>=maxi){
maxi=word_max.size();
}
}
//sum
for(int i=1; i<=The_s; ++i){
iss>>word;
if(word.size()==maxi){
cout<<word<<endl;
break;
}
}
for(int i=1; i<=The_s; ++i){
iss>>word;
if(word.size()==mini){
cout<<word;
break;
}
}
return false;
}
求看出了什么问题
题目描述 输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
输入格式 一行句子。
输出格式 两行输出:
第1行,第一个最长的单词。
第2行,第一个最短的单词。