2つの,,ソート結果

件名の説明:

  同じ結果は、名前のアルファベット順にソートされた場合、名前は同じ年齢によってアルファベット順に並べ替え、および注文後の出力Nの学生であればNの生徒データは、生徒の成績データのレベルに応じてソートされます提供しています

サンプル入力:

3

ABC 20 99

BCD 19 97

ベッド20 97

出力例:

BCD 19 97

ベッド20 97

ABC 20 99

書式#include <stdio.hに> 
する#include <アルゴリズム> 
書式#include < 文字列の.h>
 使用して 名前空間はstdを、
構造体E {
     チャー名[ 100 ]。
    int型の年齢;
    int型のスコア。
} BUF [ 1000年]。

ブールCMP(E AとE b)は
{
    もし(!a.score = b.score)戻り a.score < b.score。
    INT TMP = のstrcmp(a.name、b.name)。
    場合(!TMP = 0を返す TMP < 0 それ以外の 戻り a.age < b.age。
}

int型のmain()
{
    int型のn;
    しばらく(scanf関数(" %d個"、&​​N)!= EOF)
    {
        以下のためにint型 i = 0 ; iがn <; iは++ 
        {
            scanf関数(" %sの%D%D "、BUF [I] .nameの、&​​BUF [i]は.age、&BUF [I] .score)。
        } 
        ソート(BUF、BUF + N、CMP)。
        以下のためにint型 i = 0 ; iがn <; iは++ 
        {
            printf(" %sの%D%D \ n " 、BUF [I] .nameの、BUF [i]は.age、BUF [I] .score)。
        }
    }
    リターン 0 ;
}

 

おすすめ

転載: www.cnblogs.com/womendouyiyang/p/11666068.html