杭電ACM1236 排名

2021-07-02 04:50:53 字數 880 閱讀 1446

這一題,比較麻煩,可以說是簡單的結構體的應用。

輸入的資料量比較大,用scanf比較好一點,還有一點比較難的是如果分數一樣,要按考生號的公升序來輸出。

我用乙個結構體來存每乙個考生的考號和總成績,然後排序,算出有幾個合格,再輸出。

下面的是一次ac的**:

#include #include #include #include using namespace std;

class data

;data student[1005];

int cmp(const data& a, const data& b) //排序從大到小

while((b.str[j] >= 'a' && b.str[j] <= 'z') || (b.str[j] >= 'a' && b.str[j] <= 'z')) //忽略前面的字母

j++;

while(b.str[j] != '\0') //算b的考號後面的數字

return x < y; //從小到大排 }}

int main()

} sort(student, student + n, cmp); //排序

int count = 0;

for(i = 0; i < n; i++) //算合格的幾個

printf("%d\n", count); //輸出

for(i = 0; i < count; i++)

printf("%s %d\n", student[i].str, student[i].sum);

} return 0;

}

杭電1236 排名

今天的上機考試雖然有實時的ranklist,但上面的排名只是根據完成的題數排序,沒有考慮 每題的分值,所以並不是最後的排名。給定錄取分數線,請你寫程式找出最後通過分數線的 考生,並將他們的成績按降序列印。測試輸入包含若干場考試的資訊。每場考試資訊的第1行給出考生人數n 0 n 1000 考題數m 0...

ACM訓練合集 HDU1236 排名

problem description 今天的上機考試雖然有實時的ranklist,但上面的排名只是根據完成的題數排序,沒有考慮 每題的分值,所以並不是最後的排名。給定錄取分數線,請你寫程式找出最後通過分數線的 考生,並將他們的成績按降序列印。input 測試輸入包含若干場考試的資訊。每場考試資訊的...

HDU1236排名(排序)

剛學會c stl標準模板庫,就試著寫了一道排序的題 發現c stl好強很大,雖然有許多函式調錯了,但是經過除錯過後,居然一次ac了,興奮呀!所以以此紀念一下這個小小的突破 嘿嘿 好了,先看看題目吧!題意 今天的上機考試雖然有實時的ranklist,但上面的排名只是根據完成的題數排序,沒有考慮 每題的...