題解 洛谷P1093 獎學金

2021-10-11 16:32:25 字數 1049 閱讀 8839

題解 p1093 獎學金

本蒟蒻的題解

畢竟是2023年noip的題,所以看似很難

仔細一想,其實卻很簡單。

蒟蒻方法:結構體;

貼**1.建立結構體

#include

//只會這乙個

using

namespace std;

struct zkya[

305]

;//建立結構體

2.確定排序方法

bool

cmp(

const zky&nd1,

const zky& nd2)

//排序方法

3.主程式

int

main()

sort

(a+1

,a+n+

1,cmp)

;for

(int i=

1;i<=

5;i++

) cout<.xh<<

' '<.zf

return0;

}

完整**:

#include

//只會這乙個

using

namespace std;

struct zkya[

305]

;//建立結構體

bool

cmp(

const zky&nd1,

const zky& nd2)

//排序方法

intmain()

sort

(a+1

,a+n+

1,cmp)

;for

(int i=

1;i<=

5;i++

) cout<.xh<<

' '<.zf

return0;

}

tip:**已ac

洛谷 P1093 獎學金

某小學最近得到了一筆贊助,打算拿出其中一部分為學習成績優秀的前5名學生發獎學金。期末,每個學生都有3門課的成績 語文 數學 英語。先按總分從高到低排序,如果兩個同學總分相同,再按語文成績從高到低排序,如果兩個同學總分和語文成績都相同,那麼規定學號小的同學 排在前面,這樣,每個學生的排序是唯一確定的。...

洛谷 P1093 獎學金

題目描述 某小學最近得到了一筆贊助,打算拿出其中一部分為學習成績優秀的前5名學生發獎學金。期末,每個學生都有3門課的成績 語文 數學 英語。先按總分從高到低排序,如果兩個同學總分相同,再按語文成績從高到低排序,如果兩個同學總分和語文成績都相同,那麼規定學號小的同學 排在前面,這樣,每個學生的排序是唯...

洛谷P1093 獎學金

此題分三次排序,第一次總分排序,如果總分一樣,那麼語文分數高者靠前,如果語文分數相同,那麼看學號,學號小的名詞靠前。我的解法 設定了乙個stu的結構體,將一名同學的總分,學號和語文分數放在其中,再利用qsort對總分進行排序,然後對成績相同者做相關處理即可。陣列 交換函式 void swap int...