输入五个国家的名称按字母顺序排列输出

本题编程思路如下:五个国家名应由一个二维字符数组来处理。然而C语言规定可以把一个二维数组当成多个一维数组处理。 因此本题又可以按五个一维数组处理, 而每一个一维数组就是一个国家名字符串。用字符串比较函数比较各一维数组的大小,并排序, 输出结果即可。

include < stdio.h >
#include
< conio.h >
void  main()
{
    
char  st[ 20 ],cs[ 5 ][ 20 ];
    
int  i,j,p;
    printf(
" input country's name:\n " );
    
for (i = 0 ;i < 5 ;i ++ )
        gets(cs[i]);
    printf(
" \n " );
    
for (i = 0 ;i < 5 ;i ++ )
    { p
= i;strcpy(st,cs[i]);
      
for (j = i + 1 ;j < 5 ;j ++ )
          
if (strcmp(cs[j],st) < 0 ) p = j;
      
if (p != i)
      {
          strcpy(st,cs[i]);
          strcpy(cs[i],cs[p]);
          strcpy(cs[p],st);
      }
      puts(cs[i]);
    }
    printf(
" \n " );
    getch();
}

转载于:https://www.cnblogs.com/qixin622/archive/2007/07/06/807993.html

你可能感兴趣的:(输入五个国家的名称按字母顺序排列输出)