PAT B 1015 德才論 模擬

2021-08-08 14:16:06 字數 1139 閱讀 1106

第一行給出三個整數n, l, h表示 學生人數,最低錄取分數線 和 優先錄取線(其實就是優秀和良好的分界線啦)。

然後給出一大堆學生的 學號和其各自的 德才分。讓你按司馬光的理論給出錄取排名。

總結一下排名次的要求如下:

德才分只要有乙個沒及格(即沒達到最低錄取分數線l)直接剔除,不放入排名。

排名先分類,後在各類別中按德才總分排序。

分類分四類:

第一類:「才德全盡」— 德,才兩項分數均大於等於優先錄取線h

第二類:「德勝才」— 德分大於等於優先錄取分數線h,但才分沒達到。

第三類:「才德兼亡」但尚有「德勝才」— 德才分均未達到優先錄取線h,但德分不低於才分。

第四類:「才勝德」— 除上述三類之外的其他未不及格考生。

如果德才總分相同,則德分高排前;若仍相同,則按准考證號公升序排列。

最後輸出錄取人數和排好名次的學生資訊即可。

既然排名次的要求寫得這麼明確,那我們就直接寫乙個cmp,然後讓sort()直接幫我們排好序就好了。

注意好排序的要求,應該不會出錯。

#include 

#include

using namespace std;

#define stumax 100005

struct stu;

stu s[stumax];

int n, l, h;

int level( stu a )

else

if( a.d >= a.c ) return

3; return4;}

bool judge( stu a, stu b )

bool cmp( stu a, stu b )

int main()

}sort( s, s + n, cmp );

printf( "%d\n", n );

for( int i = 0; i < n; i++ )

}return

0;}

一看我這麼帥就是德才兼備,德才全盡啊!

請錄取我!

PAT B 1015德才論 25分

1015 德才論 25 分 宋代史學家司馬光在 資治通鑑 中有一段著名的 德才論 是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。現給出一批考生的德才分數,請根據司馬光的理論給出錄取排名。輸入格式 輸入第一行給出 3...

PAT B 1015 德才論 (25 分)

宋代史學家司馬光在 資治通鑑 中有一段著名的 德才論 是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。現給出一批考生的德才分數,請根據司馬光的理論給出錄取排名。輸入格式 輸入第一行給出 3 個正整數,分別為 n 10...

PAT B 1015 德才論(C語言)

宋代史學家司馬光在 資治通鑑 中有一段著名的 德才論 是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。現給出一批考生的德才分數,請根據司馬光的理論給出錄取排名。輸入格式 輸入第一行給出 3 個正整數,分別為 n 10...