1077 互評成績計算 (20 分)


在浙大的計算機專業課中,經常有互評分組報告這個環節。一個組上台介紹自己的工作,其他組在台下為其表現評分。最后這個組的互評成績是這樣計算的:所有其他組的評分中,去掉一個最高分和一個最低分,剩下的分數取平均分記為 G1​​;老師給這個組的評分記為 G2​​。該組得分為 (,最后結果四舍五入后保留整數分。本題就要求你寫個程序幫助老師計算每個組的互評成績。

輸入格式:

輸入第一行給出兩個正整數 N(> 3)和 M,分別是分組數和滿分,均不超過 100。隨后 N 行,每行給出該組得到的 N 個分數(均保證為整型范圍內的整數),其中第 1 個是老師給出的評分,后面 N1 個是其他組給的評分。合法的輸入應該是 [ 區間內的整數,若不在合法區間內,則該分數須被忽略。題目保證老師的評分都是合法的,並且每個組至少會有 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
//所有輸入計算的數據都用double,最后輸出轉成int
//最后輸出時需要先設定一個int變量,不能再printf里轉化
#include<iostream>
using namespace std;
int main(){
    int n,m;
    scanf("%d %d",&n,&m);
    double gT,gC;
    for(int i = 0; i < n; i++){
        double score = 0,cnt = 0;
        double max = -1.0,min = 101.0;
        scanf("%lf",&gT);
        for(int j = 0; j < n-1; j++){
            scanf("%lf",&gC);
            if(!(gC < 0 || gC > m)){
                score += gC;
                max = gC > max ? gC : max;
                min = gC < min ? gC : min;
                cnt++;
            }
        }
        score -= max;
        score -= min;
        score /= (cnt - 2) ;
        score += gT;
        int grade = (int)(score / 2 + 0.5);
        printf("%d\n",grade);
    }
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM