//例11.4
//对10.4的优化
#include <stdio.h>
#include <string.h>
#define MAX_LEN 10//字符串长度
#define N 150//字符串个数
void sortstring(char *ptr[],int n);
int main()
{
int i,n;
char name[N][MAX_LEN];
char *pstr[N];
printf("How many countries?:");
scanf("%d",&n);
getchar();//读走输入缓冲区的回车符
printf("Input thier names:\n");
for(i=0;i<n;i++);
pstr[i]=name[i];
gets(pstr[i]);
sortstring(pstr,n);
for(i=0;i<n;i++)
{
puts(pstr[i]);
//对10.4的优化
#include <stdio.h>
#include <string.h>
#define MAX_LEN 10//字符串长度
#define N 150//字符串个数
void sortstring(char *ptr[],int n);
int main()
{
int i,n;
char name[N][MAX_LEN];
char *pstr[N];
printf("How many countries?:");
scanf("%d",&n);
getchar();//读走输入缓冲区的回车符
printf("Input thier names:\n");
for(i=0;i<n;i++);
pstr[i]=name[i];
gets(pstr[i]);
sortstring(pstr,n);
for(i=0;i<n;i++)
{
puts(pstr[i]);
}
return 0;
}
void sortstring(char *ptr[],int n)
{
int i,j;
char *temp=NULL;//交换指针
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(strcmp(ptr[j],ptr[i])<0)
{
temp=ptr[i];
ptr[i]=ptr[j];
ptr[j]=temp;
return 0;
}
void sortstring(char *ptr[],int n)
{
int i,j;
char *temp=NULL;//交换指针
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(strcmp(ptr[j],ptr[i])<0)
{
temp=ptr[i];
ptr[i]=ptr[j];
ptr[j]=temp;
}
}
}
}
}