题目描述
输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
输入格式
输入包含若干行,每行一个字符串。
输出格式
按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
每个字符串输出占一行。
数据范围
输入不超过 100 行。
字符串长度均不超过 100。
样例
输入样例:
hello
she
sorry
he
输出样例:
he
hello
sorry
C++ 代码
写法一
#include <iostream>
#include<cstring>
using namespace std;
const int N=110;
string s[N]; // 记录每一个字符串
int len[N]; // 记录字符串长度
int main()
{
string str;
int cnt=0,min=1000,max=-1; // 记录字符串个数,最长文本,最短文本
while(cin>>str)
{
s[cnt]=str;
int n=str.size();
len[cnt++]=n;
if(n<min) min=n; // 找到最短文本
if(n>max) max=n; // 找到最长文本
}
for(int i=0;i<cnt;i++) // 输出最短文本
if(len[i]==min)
cout<<s[i]<<endl;
for(int i=0;i<cnt;i++) // 输出最长文本
if(len[i]==max)
cout<<s[i]<<endl;
return 0;
}