题目描述
输入n和n个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个。
输入
第一行是一个整数n,后面跟着n行,每行包括一个由字母和数字和空格组成的字符串,长度不超过1000。
输出
长度最短的字符串,若长度相同则输出出现较早的那一个。
样例输入
5 How are you! Happy Good! Hello world! Thinks
样例输出
Happy
#include<stdio.h>
#include<string.h>
int main(){
int i,n,len,minLen=1000;
char minStr[1002];
scanf("%d",&n);
getchar();
memset(minStr,0,1002*sizeof(char)); //初始化minStr
for(i=0;i<n;i++){
char str[1002];
gets(str);
len=strlen(str);
if(len<minLen){ //找最早出现所以是小于
minLen=len;
strcpy(minStr,str);
}
}
printf("%s",minStr);
//puts(minStr);
return 0;
}
tips;找最小值思想。只不过要记录最小时候的该字符串和该字符串长度