本题要求编写程序,针对输入的N个字符串,输出其中最小的字符串。
输入格式:
输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。
输出格式:
在一行中用以下格式输出最小的字符串:
Min is: 最小字符串
输入样例:
5
Li
Wang
Zha
Jin
Xian
输出样例:
Min is: Jin
代码一:
#include <stdio.h>
#include <string.h>
main()
{
int N,i,a;
char str[1000][80],*c;
scanf("%d\n",&N);
for(i=0;i<N;i++)
gets(str[i]);
c=str[0];
for(i=1;i<N;i++)
{
if(strcmp(c,str[i])>0)
c=str[i];
}
printf("Min is: %s",c);
}
代码二:
#include <stdio.h>
#include <string.h>
int main()
{
int n;
char ch[81], min[81];
scanf("%d", &n);
scanf("%s", ch);
strcpy(min, ch);
for (int i = 0; i < n - 1; i++)
{
scanf("%s", ch);
if (strcmp(min, ch) > 0)
strcpy(min, ch);
}
printf("Min is: %s", min);
return 0;
}
代码三:
#include<stdio.h>
#include<string.h>
int main(){
char a[10000][80];
int n, min;
char temp[80];
scanf("%d",&n);
getchar();
for(int i=0;i<n;i++)
gets(a[i]);
for(int i=0;i<n-1;i++){
min=i;
for(int j=i+1;j<n;j++)
if(strcmp(a[min],a[j])>0)
min=j;
if(min!=i)
{
strcpy(temp,a[min]);
strcpy(a[min],a[i]);
strcpy(a[i],temp);
}
}
printf("Min is: %s",a[0]);
return 0;
}