http://ac.jobdu.com/problem.php?pid=1195
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <string>
using namespace std;
struct E
{
char a[1005];
int len;
}buf[1000];
int main()
{
// freopen("D:\\1.txt","r",stdin);
int size=0,i,len;
while (scanf("%s",buf[size].a)!=EOF)
{
buf[size].len=strlen(buf[size].a);
size++;
}
int min=123123,max=0;
for (i=0;i<size;i++) //因为短文本,长文本不唯一,
{
if (buf[i].len<min) //所以保存最短最长的长度,一样长度的都要输出
{
min=buf[i].len;
}
if (buf[i].len>max)
{
max=buf[i].len;
}
}
for (i=0;i<size;i++) //先输出最短文本
{
if (buf[i].len==min)
{
printf("%s\n",buf[i].a);
}
}
for (i=0;i<size;i++) //最短文本输出完毕,再输出长文本
{
if (buf[i].len==max)
{
printf("%s\n",buf[i].a);
}
}
return 0;
}