1139: 输出最短字符串
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 2431 Solved: 1373
Submit Status Web Board
Description
输入n和n个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个。
Input
第一行是一个整数n,后面跟着n行,每行包括一个由字母和数字和空格组成的字符串,长度不超过1000。
Output
长度最短的字符串,若长度相同则输出出现较早的那一个。
Sample Input
5How are you!HappyGood!Hello world!Thinks
Sample Output
Happy
HINT
Source
/*当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.
getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,
*/
#include<stdio.h>
#include<string.h>
int main()
{
char a[1000][1000],b[1000];
int i,n;
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
gets(a[i]);
}
//把a[0]中存储的放入b中//
strcpy(b,a[0]); //这里应该是0
for(i=0;i<n;i++)
{
if(strlen(b)>strlen(a[i]))
{
strcpy(b,a[i]);
}
}
printf("%s\n",b);
return 0;
}
//fflush(stdin)功能:清空输入缓冲区,通常是为了确保不影响后面的数据读取//
/*stdin就是标准输入 std即standard(标准),in即input(输入),合起来就是标准输入。
一般就是指键盘输入到缓冲区里的东西。 */
#include<stdio.h>
#include<string.h>
int main()
{
char a[1000][1000],b[1000];
int i,n;
scanf("%d",&n);
fflush(stdin); //这里清一下上面输入时多余的回车
for(i=0;i<n;i++)
{
gets(a[i]);
}
//把a[0]中存储的放入b中//
strcpy(b,a[0]); //这里应该是0
for(i=0;i<n;i++)
{
if(strlen(b)>strlen(a[i]))
{
strcpy(b,a[i]);
}
}
printf("%s\n",b);
return 0;
}