3. 编写一个排序函数,实现对字符串按照字典顺序排序,在主函数中输入n个字符串(每个字符串的长度不大于20),调用此函数,实现字符串的排序,然后输出排序后的字符串。要求用指针数组处理这些字符串。
void fun(char *pa[ ] , int n )
{
/*对pa所指的n个字符串按照字典顺序排序*/
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void fun(char *pa[],int n);
int main()
{
int n,i,len;
char *name[21],str[21];
scanf("%d",&n);\
for(i=0;i<n;i++)
{
scanf("%s",str);
len=strlen(str);
name[i]=(char *)malloc(sizeof(char)*(len+1));
strcpy(name[i],str);
}
printf("\n");
fun(name,n);
return 0;
}
void fun(char *pa[],int n)
{
int i,j;
char t[21];
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(pa[i],pa[j])>0)
{
strcpy(t,pa[i]);
strcpy(pa[i],pa[j]);
strcpy(pa[j],t);
}
}
}
for(i=0;i<n;i++)
{
printf("%s\n",pa[i]);
}
}