sagit 是一位高中電腦老師,這學期正在教學生寫C++程式。他的評分標準是依照每一位學生在 ZeroJudge 系統上解出的題數,去計算出對應的得分。為了不讓分數落差太大,因此他並不是採取每一題固定得分的方式,而是隨著題數增加而調整每題的得分。規則如下:
答對題數在 0~10 者,每題給6分。
題數在 11~20 者,從第11題開始,每題給2分。(前10題還是每題給6分)
題數在 21~40 者,從第21題開始,每題給1分。
題數在 40 以上者,一律100分。
如此一來,只要寫10題,就可以得到60分,寫20題,就可以得到80分,不過要得到滿分100分,則是要寫到40題,所以同學們分數的差距就大大地減少了。
不過問題來了,雖然學生們因為這樣的計分公式而大大地提升了及格率,但因為 sagit 有600多位學生,一個一個去計算真的是一件很吃重的工作,所以現在想請你幫他寫個程式解決這個問題。
輸入說明 :
每組測資只有一個整數 N (0<=N<=100),代表學生在 ZeroJudge 系統上解出的題數。
輸出說明 :
印出該位同學的得分。
範例輸入 :
10
40
範例輸出 :
60
100
程式碼 :
#include <stdio.h> int main() { int i,sum; while(scanf("%d",&i)==1) { sum = 0; sum = sum + (i>10?10:i)*6; if(i>10) { sum = sum + (i>20?10:(i-10))*2; if(i>20) sum = sum + (i>40?20:(i-20)); } printf("%d\n",sum); } return 0; }
http://zerojudge.tw/ShowProblem?problemid=a053
沒有留言:
張貼留言