標題
複試篩選
類別綜合
時間限制
1s記憶體限制
256kb
問題描述
考研初試成績公布後需要對m個學生的成績進行排序,篩選出可以進入複試的前n名學生。
排序規則為首先按照總分排序,總分相同則按英語單科成績排序,總分和英語成績也相同時考號小者排在前面。
現給出這m個學生的考研初試成績,請篩選出可以進入複試的n名學生並按照排名從高到低的順序依次輸出。
輸入說明
輸入為m+1行,第一行為兩個整數m和n,分別表示總人數和可以進入複試人數,m和n之間用空格分隔,0輸出說明
按排名從高到低的順序輸出進入複試的這n名學生的資訊。
輸入樣例
5 3xd20160001 330 65
xd20160002 330 70
xd20160003 340 60
xd20160005 360 75
xd20160004 360 75
輸出樣例
xd20160005 360 75
xd20160003 340 60
xd20160002 330 70
**如下:
#include
#include
intmain()
;struct student s[
200]
,temp;
//定義結構體變數(也可指定義乙個s[201],用s[200]代替temp。attention:不要將s[200]寫錯為s[201],這是無效的,超過了陣列範圍,結果就導致不能輸出任何東西。)
int m,n,i,j,t;
scanf
("%d%d"
,&m,
&n);
for(i=
0;i)scanf
("%s%d%d"
,s[i]
.num,
&s[i]
.sum,
&s[i]
.dan)
;printf
("\n");
for(i=
0;i1;i++
)for
(j=0
;j1-i;j++
)else
if(s[j]
.sum==s[j+1]
.sum)
else
if(s[j]
.dan==s[j+1]
.dan)}}
}for
(i=0
;i)printf
("%s %d %d\n"
,s[i]
.num,s[i]
.sum,s[i]
.dan)
;return0;
}
XDOJ 170 複試篩選
考研初試成績公布後需要對m個學生的成績進行排序,篩選出可以進入複試的前n名學生。排序規則為首先按照總分排序,總分相同則按英語單科成績排序,總分和英語成績也相同時考號小者排在前面。現給出這m個學生的考研初試成績,請篩選出可以進入複試的n名學生並按照排名從高到低的順序依次輸出。輸入為m 1行,第一行為兩...
XDOJ括號匹配
類別 字串處理 時間限制 2s記憶體限制 1000kb 問題描述 表示式中的合法括號為 這三種括號可以按照任意的次序巢狀使用。請寫乙個程式,判斷給定表示式中的括號是否匹配,既左右括號順序和數量都匹配。輸入說明 輸入為乙個表示式字串,長度不超過50。輸出說明 對輸入的表示式,若其中的括號是匹配的,則輸...
XDOJ快速排序
問題描述 採用快速排序演算法,排序輸入的n個整數,prvotkey 樞軸 每次選取陣列第乙個數。輸出快速排序第一趟排序的結果。輸入格式 輸入的第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數,空格隔開。輸出格式 按照要求排序後輸出,由空格分隔。樣例輸入 50 10 90 30 70 4...