建立一个指针数组,数组内的每一个指针分别指向每一个国家名的字符串。排序时,直接操作指针更加方便。
程序运行结果:
/*
Name: sortCountryName
Author: leeoo
Date: 19/03/19 15:16
Description: 5输入五个国家的名称,按字母顺序排列输出
*/
#include<stdio.h>
#include<string.h>
void fun(char *_s[]){
char *p;
for(int i = 0; i < 5; i++){ //对指针数组进行冒泡排序
for(int j = 1;j < 5-i; j++){
if(strcmp(_s[j-1], _s[j])>0){
p = _s[j];
_s[j] = _s[j-1];
_s[j-1] = p;
}
}
}
}
int main(){
int i = 0;
char st[5][20]; //接收字符串的二维数组
char *ss[5]; //字符型的指针数组
for(i = 0; i < 5; i++){
scanf("%s", st[i]);
ss[i] = st[i];
}
fun(ss);
printf("排序后: \n");
for(i = 0; i < 5; i++)
puts(ss[i]);
return 0;
}
/*
China America Australia France Germany
*/