Java 1077 互评成绩计算
生活随笔
收集整理的這篇文章主要介紹了
Java 1077 互评成绩计算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目內容:
在浙大的計算機專業課中,經常有互評分組報告這個環節。一個組上臺介紹自己的工作,其他組在臺下為其表現評分。最后這個組的互評成績是這樣計算的:所有其他組的評分中,去掉一個最高分和一個最低分,剩下的分數取平均分記為?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結尾無空行
Java代碼實現(AC):
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.StreamTokenizer;public class Main {public static void main(String[] args) throws Exception {BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));StreamTokenizer in = new StreamTokenizer(bf);in.nextToken();int N = (int) in.nval;in.nextToken();int M = (int) in.nval;for (int i = 0; i < N; i++) {in.nextToken();int G1 = (int) in.nval;int G2 = 0;int count = -2;int max = Integer.MIN_VALUE;int min = Integer.MAX_VALUE;for (int j = 0; j < N - 1; j++) {in.nextToken();int f = (int) in.nval;if (f >= 0 && f <= M) {G2 += f;max = max > f ? max : f;min = min < f ? min : f;count++;}}G2 -= (max + min);int result =(int)( (G1 + G2 / (double) count) / 2.0 +0.5);out.println(result);}out.flush();} }總結
以上是生活随笔為你收集整理的Java 1077 互评成绩计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DB是什么单位
- 下一篇: Java kafka监控 topic的数