#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int cmp(const void*a,const void*b)
{
char *ta=*(char **)a;//注意比较的类型是指针
char *tb=*(char **)b;
return strcmp(tb,ta);
}
int main() {
char *s[1000];
char buf[100];
int n;
scanf("%d\n",&n);
int i=0;
for(;i<n;i++)
{
scanf("%s",buf);
s[i]=(char *)malloc(strlen(buf)+1);//还要包括‘\0’的长度
strcpy(s[i],buf);//不能直接等于
}
i--;//易漏
qsort(s,n,sizeof(char *),cmp);
for(;i>=0;i--)
{
printf("%s\n",s[i]);
free(s[i]);
}
return 0;
}

京公网安备 11010502036488号