题目描述输入n和n个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个。
输入
第一行是一个整数n,后面跟着n行,每行包括一个由字母和数字和空格组成的字符串,长度不超过1000。
输出
长度最短的字符串,若长度相同则输出出现较早的那一个。
样例输入 Copy
5 How are you! Happy Good! Hello world! Thinks
样例输出 Copy
Happy
#include <stdio.h>
#include <string.h>
int main()
{
int i,n;
char ch[1000],minch[1000];//用字符数组ch存读入的字符串,用字符数组minch存比较后的较短字符串
scanf("%d",&n);
getchar(); //读取留在缓存的回车,以免被后面的gets函数作为空字符串读入
gets(ch); //读取第一行字符串
strcpy(minch,ch); //把字符数组ch的内容复制到字符数组minch中
for(i=1;i<n;i++)
{
gets(ch);
if(strlen(ch)<strlen(minch)) //比较字符串长度,较短者复制到字符数组minch中
strcpy(minch,ch);
}
puts(minch);
return 0;
}