编辑代码

#include<stdio.h>
int main()
{
	char s[10][20];//定义字符型变量
	int i, j;      //定义整型变量
	char *a[10],*x[1];
	
		printf("输入十个国家英文名\n");//输出“输入十个国家英文名”,并换行
		for(i=0;i<10;i++){      //将字符串写入二维数组
	
		scanf("%s",s[i]);       //扫描输入的字符串
		}	
 
	for(i=0;i<10;i++){          //将每行开头的地址赋予指针数组 
		a[i]=&s[i][0];
	}
	for(i=0;i<10;i++)           //循环排序指针数组
	{
		for(j=0;j<9;j++)        //循环
        {       
			if (strcmp(a[j],a[j+1])>0){//比较a[j]和a[j+1]的大小,
				x[0]=a[j];       //且只有在a[j]>a[j+1]时,if成立。
				a[j]=a[j+1];
				a[j+1]=x[0];
                }
		}
	}
	printf("排序为:");          //输出“排序为”
	for(i=0;i<10;i++){          //遍历数组输出 
		printf("%s ",a[i]);     //输出排列好的国家名称
	}
	return 0;
}