#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int n,i,j;
char **str;
char s[100];
printf("请输入n:");
scanf("%d",&n);
getchar();
str=(char**)malloc(sizeof(char*)*n);
for(i=0;i<n;i++)
{
str[i]=(char*)malloc(sizeof(char)*100);
printf("请输入第%d个字符串\n",i+1);
gets(str[i]);
}
puts("排序后的字符串为:");
for(i=0;i<n;i++)
{
for(j=i;j<n-1;j++)
{
if(strcmp(str[j+1],str[j])<0)
{
strcpy(s,str[j+1]);
strcpy(str[j+1],str[j]);
strcpy(str[j],s);
}
}
}
for(i=0;i<n;i++)
{
puts(str[i]);
}
for(i=0;i<n;i++)
{
free(str[i]);
str[i]=NULL;
}
free(str);
str=NULL;
return 0;
}
楼主看看满足条件不。