某小學最近得到了一筆贊助,打算拿出其中一部分為學習成績優秀的前 5
'>5
5 名學生發獎學金。
期末,每個學生都有 3
'>3
3 門課的成績:語文、數學、英語。
先按總分從高到低排序,如果兩個同學總分相同,再按語文成績從高到低排序,如果兩個同學總分和語文成績都相同,那麼規定學號小的同學排在前面,這樣,每個學生的排序是唯一確定的。
任務:先根據輸入的 3
'>3
3 門課的成績計算總分,然後按上述規則排序,最後按排名順序輸出前五名學生的學號和總分。
注意,在前 5
'>5
5 名同學中,每個人的獎學金都不相同,因此,你必須嚴格按上述規則排序。
例如,在某個正確答案中,如果前兩行的輸出資料(每行輸出兩個數:學號、總分) 是:
7 279
5 279
這兩行資料的含義是:總分最高的兩個同學的學號依次是 7
'>7
7 號、5
'>5
5 號。
這兩名同學的總分都是 279
'>279
279 (總分等於輸入的語文、數學、英語三科成績之和),但學號為 7
'>7
7 的學生語文成績更高一些。
如果你的前兩名的輸出資料是:
5 279
7 279
則按輸出錯誤處理。
輸入格式
輸入檔案包含 n+1
'>n+1
n+1 行:
第 1'>1
1 行為乙個正整數 n
'>n
n,表示該校參加評選的學生人數。
第 2'>2
2 到 n+1
'>n+1
n+1 行,每行有 3
'>3
3 個用空格隔開的數字,每個數字都在 0
'>0
0 到 100
'>100
100 之間,第 j
'>j
j 行的 3
'>3
3 個數字依次表示學號為 j−1
'>j−1
j−1 的學生的語文、數學、英語的成績。
每個學生的學號按照輸入順序編號為 1∼n
'>1∼n
1∼n (恰好是輸入資料的行號減 1
'>1
1)。所給的資料都是正確的,不必檢驗。
輸出格式
輸出檔案共有 5
'>5
5 行,每行是兩個用空格隔開的正整數,依次表示前 5
'>5
5 名學生的學號和總分。
資料範圍6≤
n≤300'>6≤n≤300
6≤n≤300
輸入樣例:
6
90 67 80
87 66 91
78 89 91
88 99 77
67 89 64
78 89 98
輸出樣例:6 265
4 264
3 258
2 244
1 237
這個題是乙個多關聯排序問題,我們利用結構體來存放每個學生的資料,再通過過載運算子操作來進行按照總分、語文成績、學號直接關係進行排序。
#include#includeusing
namespace
std;
const
int n = 310
;struct
person
}stu[n];
intmain()
sort(stu, stu+n);
for (int i = 0; i < 5; i++)
return0;
}
Python學習Day4打卡
合併 分片與索引 字串格式化符 列表,元組,字串的共同點 1.都可以通過索引得到每乙個元素 2.預設索引值總是從0開始 靈活的python還支援負數索引 3.可以通過分片的方法得到乙個範圍內發元素的集合 4.有很多共同的操作符 我們把他們統稱為序列 1.list list 方法用於把乙個可迭代物件轉...
AcWing寒假每日一題 Day9獎學金
某小學最近得到了一筆贊助,打算拿出其中一部分為學習成績優秀的前5名學生發獎學金。期末,每個學生都有3門課的成績 語文 數學 英語。先按總分從高到低排序,如果兩個同學總分相同,再按語文成績從高到低排序,如果兩個同學總分和語文成績都相同,那麼規定學號小的同學排在前面,這樣,每個學生的排序是唯一確定的。任...
每日打卡 Day9 被圍繞的區域 C 實現
給定乙個二維的矩陣,包含 x 和 o 字母 o 找到所有被 x 圍繞的區域,並將這些區域裡所有的 o 用 x 填充。示例 x x x x x o o x x x o x x o x x執行你的函式後,矩陣變為 x x x x x x x x x x x x x o x x解釋 被圍繞的區間不會存在於...