九度-题目1195:最长&最短文本

时间:2023-03-09 00:06:29
九度-题目1195:最长&最短文本

http://ac.jobdu.com/problem.php?pid=1195

题目描述:

输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。

输入:

输入包括多行字符串,字符串的长度len,(1<=len<=1000)。

输出:

按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。

样例输入:
hello
she
sorry
he
样例输出:
he
hello
sorry
来源:
2008年华中科技大学计算机研究生机试真题
只有一组输入,用cltr+z结束。在输入阶段找到最大长度和最小长度。
之后遍历所有字符串,输出最短和最长的字符串。
 #include <iostream>
#include <stdio.h>
#include <string> #define INF 2000 using namespace std; const int N=;
string s[N]; int main()
{
int size=;
int len=;
int lmax=;
int lmin=INF;
while(cin>>s[size])
{
len=s[size].size();
if(len>lmax)
lmax=len;
if(len<lmin)
lmin=len;
size++;
} for(int i=; i<size; i++)
{
if(s[i].size()==lmin)
cout << s[i] <<endl;
} for(int i=; i<size; i++)
{
if(s[i].size()==lmax)
cout << s[i] <<endl;
} return ;
}