C 国家名字按字母顺序排序

问题:

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

分析:

 知识点:

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;
}

 

原文地址:https://www.cnblogs.com/pam-sh/p/12430340.html