#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void sortmaxstr(int k,int m,char A[k][m]){ //选择排序,最小的放前面的,顺序增大
int i,j;
char temp[m];
for(i=0;i<k;i++){
for(j=i+1;j<k;j++){
if(strcmp(A[i],A[j])>0){ //函数库的字符串比较排序
strcpy(temp,A[i]); //前者顺序大就调换,始终保持第i个都比i+1到最后一个小
strcpy(A[i],A[j]);
strcpy(A[j],temp);
}
}
printf("%s\n",A[i]); //直接输出
}
return;
}
int main() {
int n,i,j;
scanf("%d",&n);
char str[n][101];
char temp[101],a[5];
gets(a);
i=0;
while (i<n){
scanf("%s",str[i]); //为什么我这里用fgets(str,101,stdin),就出现段错误??
i++;
}
sortmaxstr(n,101,str);
return 0;
}
/*void sortmaxstr(int k,int m,char A[k][m]){ //选择排序,最小的放前面的,顺序增大
int i,j;
char temp[m];
for(i=0;i<k;i++){
for(j=i+1;j<k;j++){
if(strcmp(A[i],A[j])>0){
strcpy(temp,A[i]);
strcpy(A[i],A[j]);
strcpy(A[j],temp);
}
}
printf("%s",A[i]); //这里,scanf的要换行。
}
return;
}
int main() {
int n,i,j;
scanf("%d",&n);
char str[n][101];
char temp[101],a[5];
gets(a);
i=0;
while (fgets(str[i],101,stdin)){ //这里fgets
i++;
}
sortmaxstr(n,101,str);
return 0;
}*/