例10.4
//将国家英文名按字母排序
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#define MAX_LEN 10
#define N 150
void stringsort(char str[][MAX_LEN],int n);
int main()
{
int n,i;
char name[N][MAX_LEN];
printf("how many countries?");
scanf("%d",&n);
//getchar();//读走缓冲区的回车符
printf("input their names:\n");
for(i=0;i<n;i++)
{
gets(name[i]);
}
stringsort(name,n);
printf("sorted results:\n");
for(i=0;i<n;i++)
{
puts(name[i]);
}
return 0;
}
void stringsort(char str[][MAX_LEN],int n)
{
int i,j;
char temp[MAX_LEN];
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(strcmp(str[j],str[i])<0)
{
strcpy(temp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],temp);
}
}
}