题目描述:
输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
输入:
输入包括多行字符串,字符串的长度len,(1<=len<=1000)。
输出:
按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
样例输入:
hello
she
sorry
he
样例输出:
he
hello
sorry
#include<stdio.h> #include<string.h> using namespace std; //记下最大最小的长度即可,再遍历一次符合长度要求的统统输出 typedef struct string{ int len; char str[1001]; }string; string s[10001]; int main(){ int i,index=0; int max,min; while(scanf("%s",s[index].str)!=EOF){ s[index].len=strlen(s[index].str); min=max=s[0].len; if(max<s[index].len){ max=s[index].len; } else if(min>s[index].len){ min=s[index].len; } index++; } for(i=0;i<index;i++){ if(s[i].len==min){ puts(s[i].str); } } for(i=0;i<index;i++){ if(s[i].len==max){ puts(s[i].str); } } return 0; }