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

     

  • 相关阅读:
    OC中nil、Nil、NULL、NSNull的区别
    SOJ 1050. Numbers & Letters
    SOJ 1009. Mersenne Composite N
    SOJ 1006. Team Rankings
    SOJ 1036. Crypto Columns
    SOJ 1151. 魔板
    SOJ 1007. To and Fro
    SOJ 1150.简单魔板
    SOJ 1051 Biker's Trip Odometer
    SOJ 1176 Two Ends
  • 原文地址:https://www.cnblogs.com/pam-sh/p/12430340.html
Copyright © 2020-2023  润新知