问题:
输入五个国家的名字,并按字母的顺序排列输出
分析:
知识点:
strcpy(1,2):将字符串2复制到字符数组1中 strcmp(1,2):比较字符串大小
二维数组
代码:
#include <stdio.h> #include <stdlib.h> void sort(char cs[5][20]) { int i,j,p; char st[20]; // 临时存储字符串 for(i = 0;i < 5;i++) { p = i; strcpy(st,cs[i]); //strcpy:将字符串2复制到字符数组1中 // 找出最大一个的位置 for(j = i + 1;j < 5;j++) { if(strcmp(cs[j],st) < 0) // strcmp:比较字符串 { p = j; // p记录最大值的位置 strcpy(st,cs[j]); } } if( p != i) { strcpy(st,cs[i]); strcpy(cs[i],cs[p]); strcpy(cs[p],st); } puts(cs[i]); } } int main() { char cs[5][20]; int i; printf("输入五个国家的名字: "); for(i = 0;i < 5;i++) { gets(cs[i]); //当作一维数组 } printf(" "); sort(cs); return 0; }