C語言排序 3

2021-06-26 19:36:25 字數 1468 閱讀 6375

description

今天的上機考試雖然有實時的ranklist,但上面的排名只是根據完成的題數排序,沒有考慮 

每題的分值,所以並不是最後的排名。給定錄取分數線,請你寫程式找出最後通過分數線的 

考生,並將他們的成績按降序列印。 

input

測試輸入包含若干場考試的資訊。每場考試資訊的第1行給出考生人數n ( 0 < n 

< 1000 )、考題數m ( 0 < m < = 10 )、分數線(正整數)g;第2行排序給出第1題至

第m題的正整數分值;以下n行,每行給出一 

名考生的准考證號(長度不超過20的

字串)、該生解決的題目總數m、以及這m道題的題號 

(題目號由1到m)。 

當讀入的考生人數為0時,輸入結束,該場考試不予處理。 

output

對每場考試,首先在第1行輸出不低於分數線的考生人數n,隨後n行按分數從高 

到低輸出上線考生的考號與分數,其間用1空格分隔。若有多名考生分數相同,則按他們考 

號的公升序輸出。 

sample input

4 5 25

10 10 12 13 15

cs004 3 5 1 3

cs003 5 2 4 1 3 5

cs002 2 1 2

cs001 3 2 3 5

1 2 40

10 30

cs001 1 2

2 3 20

10 10 10

cs000000000000000001 0

cs000000000000000002 2 1 2

0

sample output

3

cs003 60

cs001 37

cs004 3701

cs000000000000000002 20

hint

huge input, scanf is recommended.

樣例:#include #include int n;

struct student //定義考生資訊結構體

;int compare(struct student a,struct student b) //定義比較函式

return book;

}void sort(struct student a,int left,int right) //快排

sort(student,0,m-1); //排序

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

for(i=0;i

這道題乙個坑人點,當總分一樣的時候要按照學號公升序排列,其他地方主要就是對資訊的存放排序處理

c語言排序

c語言寫程式排序 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進...

c語言選擇排序 選擇排序法 C語言

直接選擇排序的基本思想 n個記錄的直接選擇排序可經過 n 1 趟直接選擇排序得到有序結果。初始狀態 無序區為 a 1.n 有序區為空。第 1 趟排序 在無序區 a 1.n 中選出最小的記錄a k 將它與無序區的第 1 個記錄 a 1 交換,使 a 1 1 和 a 2.n 分別變為記錄個數增加1的新有...

c語言排序演算法

很多朋友是以譚浩強老師編的 c語言教程 作為學習 c語言的入門教程的。書中涉及排序問題一般都以 冒泡法 和 選擇法 實現。為了擴大視野,增加學習程式設計的興趣,我參閱了有關書籍,整理了幾種排序法,寫出來同大家共勉。高手們不要笑,這篇文章是寫給出學者的,而且我自己也是只菜鳥,雖然內容陳舊,但值得初學者...