zoukankan      html  css  js  c++  java
  • PAT(B) 1077 互评成绩计算(Java)

    题目链接:1077 互评成绩计算 (20 point(s))

    题目描述

    在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G​1​​;老师给这个组的评分记为 G​2​​。该组得分为 (G​1​​+G​2​​)/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代码

    /**********************************************************************************
    Submit Time			Status		Score	Problem	Compiler		Run Time	User
    8/1/2019, 10:20:12	Accepted	20		1077	Java (openjdk)	123 ms		wowpH
    **********************************************************************************/
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class Main {
    	public static void main(String[] args) throws IOException {
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		String[] nm = br.readLine().split(" ");
    		int n = Integer.parseInt(nm[0]);					// 组数
    		int m = Integer.parseInt(nm[1]);					// 满分
    
    		for (int i = 0; i < n; ++i) {
    			String[] score = br.readLine().split(" ");		// 每组的分数
    			double g2 = Double.parseDouble(score[0]);		// 老师给的分数
    			double sum = 0;									// 学生给的合法的总分数
    			double lowest = 50, higest = 0;					// 最低分,最高分
    			int legalNum = 0;								// 合法的分数个数
    			for (int j = 1; j < n; ++j) {
    				double temp = Double.parseDouble(score[j]);	// 分数
    				if (temp >= 0 && temp <= m) {				// temp合法
    					sum += temp;							// 总分数增加
    					++legalNum;								// 合法分数个数加1
    					if (temp < lowest) {					// 比最低分低
    						lowest = temp;						// 更新最低分
    					}
    					if (temp > higest) {					// 比最高分高
    						higest = temp;						// 更新最高分
    					}
    				}
    			}
    			double g1 = (sum - lowest - higest) / (legalNum - 2);// 学生给的平均分
    			System.out.printf("%.0f
    ", (g1 + g2) / 2);		// 最终分数
    		}
    	}
    }
    

    提交结果

    在这里插入图片描述

  • 相关阅读:
    Unable To Open Database After ASM Upgrade From Release 11.1 To Release 11.2
    11g Understanding Automatic Diagnostic Repository.
    How to perform Rolling UpgradeDowngrade in 11g ASM
    Oracle 11.2.0.2 Patch 说明
    Pattern Matching Metacharacters For asm_diskstring
    Steps To MigrateMove a Database From NonASM to ASM And ViceVersa
    Upgrading ASM instance from Oracle 10.1 to Oracle 10.2. (Single Instance)
    OCSSD.BIN Process is Running in a NonRAC Environment
    Steps To MigrateMove a Database From NonASM to ASM And ViceVersa
    On RAC, expdp Removes the Service Name [ID 1269319.1]
  • 原文地址:https://www.cnblogs.com/wowpH/p/11687441.html
Copyright © 2011-2022 走看看