问题
输入五个国家的名字,并按字母的顺序排列输出
分析
知识点
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("输入五个国家的名字:\n");
for(i = 0;i < 5;i++)
{
gets(cs[i]); //当作一维数组
}
printf("\n");
sort(cs);
return 0;
}
