• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • EXCEL排序(九度教程第4題)

    標簽: 機試  算法

    在這里插入圖片描述
    樣例輸入:
    3 1
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    4 2
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    000002 James 98
    4 3
    000007 James 85
    000010 Amy 90
    000001 Zoe 60
    000002 James 90
    0 0
    樣例輸出:
    Case 1:
    000001 Zoe 60
    000007 James 85
    000010 Amy 90
    Case 2:
    000010 Amy 90
    000002 James 98
    000007 James 85
    000001 Zoe 60
    Case 3:
    000001 Zoe 60
    000007 James 85
    000002 James 90
    000010 Amy 90

    #include <iostream>
    #include <algorithm>
    #include <string.h>
    using namespace std;
    struct E
    {
        int number;
        char name[10];
        int score;
    
    } a[1000];
    bool c1(E a,E b)
    {
        return a.number<b.number;
    }
    bool c2(E a,E b)
    {
        int tmp=strcmp(a.name,b.name);
        if(tmp!=0)
            return tmp<0;
        else
            return a.number<b.number;
    }
    bool c3(E a,E b)
    {
        if(a.score!=b.score)
            return a.score<b.score;
        else
            return a.number<b.number;
    }
    
    int main()
    {
        int n,c;
        while(cin>>n)
        {
            if(n==0)
                break;
            cin>>c;
            for(int i=0; i<n; i++)
            {
                cin>>a[i].number>>a[i].name>>a[i].score;
            }
    
            if(c==1)
                sort(a,a+n,c1);
            else if(c==2)
                sort(a,a+n,c2);
            else
                sort(a,a+n,c3);
            cout<<"Case "<<c<<":"<<endl;
            for(int i=0; i<n; i++)
            {
                cout<<a[i].number<<" "<<a[i].name<<" "<<a[i].score<<endl;
            }
        }
        return 0;
    }
    
    
    版權聲明:本文為weixin_44022810原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_44022810/article/details/106822601

    智能推薦

    C++上機實驗九第3題

    完善下列程序,使程序可以正常運行。 要求: 1)根據以上類的聲明部分,編寫實現文件 Coordinate.cpp 和 Line.cpp。 2)編寫 main()中的內容,實例化兩個對象 line1 和 line2,用 line1 調用 普通成員函數 printInfo(),再用 line2 調用常成員函數 printInfo(),打印出 A 點和 B 點的坐標。...

    第44題-[拓撲排序]車站分級

    題目描述 一條單向的鐵路線上,依次有編號為 1, 2, …, n 的 n 個火車站。每個火車站都有一個級別,最低為 1 級。現有若干趟車次在這條線路上行駛,每一趟都滿足如下要求:如果這趟車次停靠了火車站 x,則始發站、終點站之間所有級別大于等于火車站 x 的都必須停靠。(注 意:起始站和終點站自然也算作事先已知需要停靠的站點) 例如,下表是 5 趟車次的運行情況。其中,前 4 趟車次...

    第42題-[拓撲排序]Chocolate Milk

    題目描述 FJ的牛奶生產和運輸是一個復雜的過程,他用擠奶器給他的那么多頭奶牛擠奶然后流入管道。  每一個管道把一臺擠奶器和一個可能連有一臺或多臺擠奶器的接口連接起來(這樣幾個管道里的牛奶就匯合了)。然后牛奶流入附加管道(連在各個接口之間的管道)直到流到中央管道,通向儲存室。 然后這些牛奶又經歷一個逆向的過程通過管道分流到各個牛奶桶,最后被運至市場。  FJ發現對于牛奶來說有一種...

    算法圖解 第4章 快速排序

    分而治之 使用分而治之解決問題的步驟: 找出基線條件; 將問題不斷分解,直到符合基線條件; 設計數組的遞歸函數編寫時,基線條件常是 數組為空 或 只含一個元素; 練習 4.1 請編寫前述sum函數的代碼; 4.3 找出列表中最大的數字 快速排序 思想:選定一個基準值pivot,然后將要排序的數組分為三部分(小于基準值的元素組成的子數組、基準值、大于基準值的元素組成的子數組),再對兩個子數組進行排序...

    2020-10-23 第4題

    2020-10-23 第4題 題目來源:leetcode 每日一題 234. 回文鏈表 請判斷一個鏈表是否為回文鏈表。 示例 1: 輸入: 1->2 輸出: false 示例 2: 輸入: 1->2->2->1 輸出: true 進階: 你能否用 O(n) 時間復雜度和 O(1) 空間復雜度解決此題?   看到是一個簡單題,沒考慮怎么寫時空復雜度會低,直接采用最簡單的方法寫...

    猜你喜歡

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡