第1个回答 推荐于2017-12-16
用第一个字母来排队就可以了。
if (s[i][0]>s[j][0]){ 交换国家名字;};
程序如下:
#include <stdio.h>
main()
{
char s[5][20]={"Usa","China","India","Egypt","Korea"};
char t[20];
int i,j;
for (i=0;i<4;i++) for (j=i+1;j<5;j++)
if (s[i][0]>s[j][0]){
strcpy(t,s[i]);strcpy(s[i],s[j]);strcpy(s[j],t);
};
for (i=0;i<5;i++) printf("%s\n",s[i]);
}本回答被网友采纳
第2个回答 2015-06-17
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "string.h"
int main(void){
char nn[6][70],i,j,k;
printf("Please enter the name of 5 countries...\n");
for(i=0;i<5;scanf("%s",nn[i++]));
for(i=0;i<4;i++){
for(k=i,j=k+1;j<5;j++)
if(nn[k][0]>nn[j][0]) k=j;
if(k!=i){
strcpy(nn[5],nn[k]);
strcpy(nn[k],nn[i]);
strcpy(nn[i],nn[5]);
}
printf("%s\n",nn[i]);
}
return 0;
}