1147 誰拿了最多獎學金

2021-06-18 07:12:22 字數 1695 閱讀 7834

time limit: 1 secs, memory limit: 32 mb

某校的慣例是在每學期的期末考試之後發放獎學金。發放的獎學金共有五種,獲取的條件各自不同: 1)

2)五四獎學金,每人4000元,期末平均成績高於85分(>85),並且班級評議成績高於80分(>80)的學生均可獲得; 3)

成績優秀獎,每人2000元,期末平均成績高於90分(>90)的學生均可獲得; 4)

西部獎學金,每人1000元,期末平均成績高於85分(>85)的西部省份學生均可獲得; 5)

班級貢獻獎,每人850元,班級評議成績高於80分(>80)的學生幹部均可獲得;

只要符合條件就可以得獎,每項獎學金的獲獎人數沒有限制,每名學生也可以同時獲得多項獎學金。例如姚林的期末平均成績是87分,班級評議成績82分,同時他還是一位學生幹部,那麼他可以同時獲得五四獎學金和班級貢獻獎,獎金總數是4850元。

現在給出若干學生的相關資料,請計算哪些同學獲得的獎金總數最高(假設總有同學能滿足獲得獎學金的條件)。

輸入的第一行是乙個整數n(1 <= n <= 100),表示學生的總數。接下來的n行每行是一位學生的資料,從左向右依次是姓名,期末平均成績,班級評議成績,是否是學生幹部,是否是西部省份學生,以及發表的**數。姓名是由大小寫英文本母組成的長度不超過20的字串(不含空格);期末平均成績和班級評議成績都是0到100之間的整數(包括0和100);是否是學生幹部和是否是西部省份學生分別用乙個字元表示,y表示是,n表示不是;發表的**數是0到10的整數(包括0和10)。每兩個相鄰資料項之間用乙個空格分隔。

輸出包括三行,第一行是獲得最多獎金的學生的姓名,第二行是這名學生獲得的獎金總數。如果有兩位或兩位以上的學生獲得的獎金最多,輸出他們之中在輸入檔案中出現最早的學生的姓名。第三行是這n個學生獲得的獎學金的總數。

4
yaolin 87 82 y n 0
chenruiyi 88 78 n y 1
lixin 92 88 n n 0
zhangqin 83 87 y n 1
chenruiyi
9000
28700
【解決方法】
西西里水題,建乙個結構體student,裡面包含學生的幾個資訊。先對學生資訊進行初始化,然後再判斷是否符合每個獎學金的要求,再對student中money的值進行修改。
【遇到的問題】
結構體中變數的值是隨機的,所以在使用時必須對結構體初始化,不然會出現離奇的數字
【源**】
#include #include #include using namespace std;

Sicily 1147 誰拿了最多獎學金

直接模擬即可。run time 0sec run memory 288kb code length 898bytes submittime 2011 01 21 00 38 40 problem 1147 submission 591053 the source code is licensed u...

誰拿了最多獎學金

某校的慣例是在每學期的期末考試之後發放獎學金。發放的獎學金共有五種,獲取的條件各自不同 2 五四獎學金,每人4000元,期末平均成績高於85分 85 並且班級評議成績高於80分 80 的學生均可獲得 3 成績優秀獎,每人2000元,期末平均成績高於90分 90 的學生均可獲得 4 西部獎學金,每人1...

誰拿了最多獎學金

某校的慣例是在每學期的期末考試之後發放獎學金。發放的獎學金共有五種,獲取的條件各自不同 2 五四獎學金,每人4000元,期末平均成績高於85分 85 並且班級評議成績高於80分 80 的學生均可獲得 3 成績優秀獎,每人2000元,期末平均成績高於90分 90 的學生均可獲得 4 西部獎學金,每人1...