任务:要求输入5个国名并按字母顺序排列后输出。在以前的例子中采用了普通的排序方法,逐个比较之后交换字符串的位置。总感觉有问题大佬们瞅瞅
#include<stdio.h>
#include<string.h>
main()
{
void sort (char *name[],int n);
void print(char *name[],int n);
static char *name[]={"CHINA","AMERICA","AUSTRALIA",
"FRANCE","GERMAN"};
int n=5;
sort(name,n);
print(name,n);
}
void sort(char *name[],int n)
{
char *pt;
int i,j,k;
for(j=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[k],name[j])>0) k=j;
if(k!=i)
{
pt=name[i];
name[i]=name[k];
name[k]=pt;
}
}
}
void print(char *name[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%s\n",name[i]);
}