c语言要求输入n(<=10)个人名,将这n个人名存入一个数组name中,然后将这n个人名按从小到大的顺序输出?

如题所述

第1个回答  2020-04-30

#include<stdio.h>

#include<string.h>

int main()

{

char a[111][30],t[30];

int n;

scanf("%d",&n);

getchar();

for(int i=0;i<n;i++)

gets(a[i]);

for(int i=0;i<n;i++)

for(int j=0;j<n-1-i;j++)

{

if(strcmp(a[j],a[j+1])>0)

{

strcpy(t,a[j]);

strcpy(a[j],a[j+1]);

strcpy(a[j+1],t);

}

}

for(int i=0;i<n;i++)

puts(a[i]);

return 0;

 } 

第2个回答  2020-04-30
#include<stdio.h>
#include<string.h>
int main(){
char a[10][50];
char tmp[50];
int i=0;
for(;i<10;i++){
scanf("%s",&a[i]);
}
for(int j=0;j<i-1;j++){
for(int k=j+1;k<i;k++){
if(strcmp(a[j],a[k])>0){
strcpy(tmp,a[j]);
strcpy(a[j],a[k]);
strcpy(a[k],tmp);
}
}
}
for(int k=0;k<i;k++){
printf("%s\n",a[k]);
}
return 0;
}
相似回答