我也在你的代码基础上简单改了一下 不过没有做大量测试
程序代码:
程序代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
int n,k,i,j;
char str[100][11];
char* p[100];
scanf("%d %d",&n,&k);
for(i=0;i<n;i++)
{
scanf("%s",str[i]);
p[i]=str[i]; //这里把字符串的首地址单独放在一起 以便后面排序
}
//排序开始
for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
if((strcmp(p[i],p[j]))>0)
{
char *tmp;
tmp=p[i];
p[i]=p[j];
p[j]=tmp;
}
}
}
//排序结束
printf("以下为排序后输出:\n");
for(i=0;i<n;i++)
printf("%s\n",p[i]);
return 0;
}

DO IT YOURSELF !






