每次先輸入考生人數n ( 0 < n < 1000 )、考題數m ( 0 < m < = 10 )、分數線(正整數)g;接著是第1題至第m題的正整數分值;之後是每名考生的准考證號(長度不超過20的字串)、題目總數m、以及這m道題的題號(題目號由1到m)。
直接進行處理,計算出每個學生的總分數,超過分數線就加入到結構體陣列中,最後對陣列sort一下,輸出即可。
注意自定義的cmp比較函式寫法:返回true就是前者排在前。
////created by alvinzh on 2017/5/24.
////
#include
#include
#include
#include
using
namespace
std;
typedef
struct
stu;
stu s[
1005
];bool cmp(const stu &a,const stu &b)
intmain()
if(sumg>=g)
}sort(s,s+count,cmp);
printf(
"%d\n
",count);
for(int i=0;i)
printf(
"%s %d\n
",s[i].id,s[i].mark);
}}
出處:
本人github:
題目1014 排名
題目描述 今天的上機考試雖然有實時的ranklist,但上面的排名只是根據完成的題數排序,沒有考慮每題的分值,所以並不是最後的排名。給定錄取分數線,請你寫程式找出最後通過分數線的考生,並將他們的成績按降序列印。輸入 測試輸入包含若干場考試的資訊。每場考試資訊的第1行給出考生人數n 0 n 1000 ...
題目1014 排名
題目描述 今天的上機考試雖然有實時的ranklist,但上面的排名只是根據完成的題數排序,沒有考慮每題的分值,所以並不是最後的排名。給定錄取分數線,請你寫程式找出最後通過分數線的考生,並將他們的成績按降序列印。輸入 測試輸入包含若干場考試的資訊。每場考試資訊的第1行給出考生人數n 0 n 1000 ...
題目1014 排名
學到了 開始要用排序了!解決 我還想著寫排序演算法 真是好蠢啊 應該用sort函式的 之前用過一遍但是又給忘了 include 注意這個裡面的有的 最好用它的這個 裡有 各個函式的介紹 很關鍵啊 sort 的排序詳細介紹在這個網頁裡面 2 問題 二進位制 沒有找到接受 std string 型別的右...