我的PAT系列文章更新重心已移至Github楼镐,歡迎來看PAT題解的小伙伴請到Github Pages瀏覽最新內(nèi)容姥闭。此處文章目前已更新至與Github Pages同步批狱。歡迎star我的repo。
題目
在浙大的計(jì)算機(jī)專業(yè)課中盐数,經(jīng)常有互評(píng)分組報(bào)告這個(gè)環(huán)節(jié)埂淮。一個(gè)組上臺(tái)介紹自己的工作姑隅,其他組在臺(tái)下為其表現(xiàn)評(píng)分。最后這個(gè)組的互評(píng)成績是這樣計(jì)算的:所有其他組的評(píng)分中倔撞,去掉一個(gè)最高分和一個(gè)最低分讲仰,剩下的分?jǐn)?shù)取平均分記為
;老師給這個(gè)組的評(píng)分記為 痪蝇。該組得分為
鄙陡,最后結(jié)果四舍五入后保留整數(shù)分。本題就要求你寫個(gè)程序幫助老師計(jì)算每個(gè)組的互評(píng)成績躏啰。
輸入格式:
輸入第一行給出兩個(gè)正整數(shù) ( 3)和 趁矾,分別是分組數(shù)和滿分,均不超過 100给僵。隨后 行毫捣,每行給出該組得到的
個(gè)分?jǐn)?shù)(均保證為整型范圍內(nèi)的整數(shù)),其中第 1 個(gè)是老師給出的評(píng)分帝际,后面 個(gè)是其他組給的評(píng)分蔓同。合法的輸入應(yīng)該是
區(qū)間內(nèi)的整數(shù),若不在合法區(qū)間內(nèi)胡本,則該分?jǐn)?shù)須被忽略牌柄。題目保證老師的評(píng)分都是合法的,并且每個(gè)組至少會(huì)有 3 個(gè)來自同學(xué)的合法評(píng)分侧甫。
輸出格式:
為每個(gè)組輸出其最終得分珊佣。每個(gè)得分占一行。
輸入樣例:
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
思路
挺中規(guī)中矩的簡單題
代碼
最新代碼@github披粟,歡迎交流
#include <stdio.h>
int main()
{
int N, M, count;
double G1, G2, Gsum, Gmax, Gmin, G;
scanf("%d %d", &N, &M);
for(int i = 0; i < N; i++)
{
scanf("%lf", &G2);
/* Calculate G1 */
Gsum = 0;
count = 0;
Gmin = M;
Gmax = 0;
for(int j = 0; j < N - 1; j++)
{
scanf("%lf", &G);
if(G >= 0 && G <= M)
{
count++;
Gsum += G;
if(G > Gmax) /* Record highest score */
Gmax = G;
if(G < Gmin) /* Record lowest score */
Gmin = G;
}
}
G1 = (Gsum - Gmax - Gmin) / (count - 2); /* Average */
printf("%d\n", (int)((G1 + G2 + 1) / 2));
}
return 0;
}