題解 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...