題目
在浙大的計算機專業課中,經常有互評分組報告這個環節。乙個組上台介紹自己的工作,其他組在台下為其表現評分。最後這個組的互評成績是這樣計算的:所有其他組的評分中,去掉乙個最高分和乙個最低分,剩下的分數取平均分記為 g1;老師給這個組的評分記為 g2。該組得分為 (g1+g2)/2,最後結果四捨五入後保留整數分。本題就要求你寫個程式幫助老師計算每個組的互評成績。
輸入格式:
輸入第一行給出兩個正整數n(> 3)和m,分別是分組數和滿分,均不超過100。隨後n行,每行給出該組得到的n個分數(均保證為整型範圍內的整數),其中第1個是老師給出的評分,後面 n-1 個是其他組給的評分。合法的輸入應該是[0, m]區間內的整數,若不在合法區間內,則該分數須被忽略。題目保證老師的評分都是合法的,並且每個組至少會有3個來自同學的合法評分。
輸出格式:
為每個組輸出其最終得分。每個得分佔一行。
輸入樣例:
6 50
42 49 49 35 38 41
36 51 50 28 -1 30
40 36 41 33 47 49
30 250 -25 27 45 31
48 0 0 50 50 1234
43 41 36 29 42 29
輸出樣例:
42 33
41 31
37 39
解析
沒什麼難度,也就是四捨五入那個搞了一會兒= =,之前做過類似的忘了。。
但是要注意的是題目中學生給出的成績有的是無效的,所以在計算平均分的時候,除以的學生數量不僅僅是減去2,還要減去無效的學生數量,一開始沒注意,檢查了一會兒才發現。。自己做題還是不嚴謹啊= =。
原始碼
#include
using namespace std;
int main()
}sum -= maxm;
sum -= minm;
num -= 2;
sum /= num;
//四捨五入取整法要記住
sum = (double)(sum + g2) / 2 + 0.5;
cout << sum
<< endl;
}return
0;}
總結 1077 互評成績計算 20
在浙大的計算機專業課中,經常有互評分組報告這個環節。乙個組上台介紹自己的工作,其他組在台下為其表現評分。最後這個組的互評成績是這樣計算的 所有其他組的評分中,去掉乙個最高分和乙個最低分,剩下的分數取平均分記為 g1 老師給這個組的評分記為 g2。該組得分為 g1 g2 2,最後結果四捨五入後保留整數...
1077 互評成績計算 20
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 在浙大的計算機專業課中,經常有互評分組報告這個環節。乙個組上台介紹自己的工作,其他組在台下為其表現評分。最後這個組的互評成績是這樣計算的 所有其他組的評分中,去掉乙個最高...
1077 互評成績計算 20
在浙大的計算機專業課中,經常有互評分組報告這個環節。乙個組上台介紹自己的工作,其他組在台下為其表現評分。最後這個組的互評成績是這樣計算的 所有其他組的評分中,去掉乙個最高分和乙個最低分,剩下的分數取平均分記為 g1 老師給這個組的評分記為 g2。該組得分為 g1 g2 2,最後結果四捨五入後保留整數...