XDOJ 複試篩選

2021-10-13 05:21:52 字數 1402 閱讀 9649

標題

複試篩選

類別綜合

時間限制

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...