- 题目描述:
-
输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
- 输入:
-
输入包括多行字符串,字符串的长度len,(1<=len<=1000)。
- 输出:
-
按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
- 样例输入:
-
hello she sorry he
- 样例输出:
-
he hello sorry
不想写了 直接看代码,发现自己还是只会c语言1 #include<stdio.h> 2 #include<string.h> 3 #include<malloc.h> 4 5 typedef struct string 6 { 7 char s[1001]; 8 int len; 9 }; 10 11 int main() 12 { 13 string *a; 14 int i=0,j; 15 a=(string *)malloc(1000*sizeof(string)); 16 int maxlen,minlen; 17 while(scanf("%s",a[i].s)!=EOF) 18 { 19 a[i].len=strlen(a[i].s); 20 i++; 21 } 22 maxlen=a[0].len;minlen=a[0].len; 23 for(j=1;j<i;j++) 24 { 25 if(a[j].len>maxlen) maxlen=a[j].len; 26 if(a[j].len<minlen) minlen=a[j].len; 27 } 28 for(j=0;j<i;j++) 29 if(a[j].len==minlen) printf("%s ",a[j].s); 30 for(j=0;j<i;j++) 31 if(a[j].len==maxlen) printf("%s ",a[j].s); 32 free(a); 33 return 0; 34 }