又有一题搞不定了
#include "stdio.h"#include "conio.h"
#include "stdlib.h"
char ** alloc(int siz)
{
char **d;
if((d=(char **)malloc(sizeof(char*)*siz))==NULL)
return NULL;
for(int i=0;i<siz;i++)
d[i]=(char *)malloc(sizeof(char)*siz);
return d;
}
int sort(char **a,int siz)
{
int i,j,k;
char *temp;
printf("\n======================排序后====================\n");
for(i=0;i<siz-1;i++)
{
k=i;
for(j=i+1;j<siz;j++)
{
if( **(a+k)>**(a+j) )
k=j;
}
if(i!=k)
temp=*(a+i);
*(a+i)=*(a+k);
*(a+k)=temp;
}
return 0;
}
int main()
{
char **str=NULL;
int t=0,i,siz;
printf("输入字符串的个数:");
scanf("%d",&siz);
str=alloc(siz);
for(i=0;i<siz;i++)
{
scanf("%s",*(str+i));
t++;
}
sort(str,siz);
for(i=0;i<t;i++)
printf("%s\n",str[i]);
getch();
return 0;
}