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("輸入五個國家的名字:\n");
    for(i = 0;i < 5;i++)
    {
        gets(cs[i]);  //當作一維數組
    }
    printf("\n");
    sort(cs);
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM