問題
輸入五個國家的名字,並按字母的順序排列輸出
分析
知識點
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;
}
