栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

洛谷 -- P5738 【深基7.例4】歌唱比赛 (Java题解)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

洛谷 -- P5738 【深基7.例4】歌唱比赛 (Java题解)

题目描述

n(nle 100)n(n≤100) 名同学参加歌唱比赛,并接受 m(mle 20)m(m≤20) 名评委的评分,评分范围是 0 到 10 分。这名同学的得分就是这些评委给分中去掉一个最高分,去掉一个最低分,剩下 m-2m−2 个评分的平均数。请问得分最高的同学分数是多少?评分保留 2 位小数。

输入格式

第一行两个整数 n,mn,m。 接下来 nn 行,每行各 mm 个整数,表示得分。

输出格式

输出分数最高的同学的分数,保留两位小数。

输入输出样例

输入 #1

7 6
4 7 2 6 10 7
0 5 0 10 3 10
2 6 8 4 3 6
6 3 6 7 5 8
5 9 3 3 8 1
5 9 9 3 2 0
5 8 0 4 1 10

输出 #1

6.00
以下是封装方法AC 代码:
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        java.util.Scanner sc = new java.util.Scanner(System.in);
        int n = sc.nextInt(); // 输入的行
        int m = sc.nextInt(); // 输入的列
        int arr[] = new int[m];
        double result[] = new double[n];// 存所有的平均数的数组,所有平均数就是多少行
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                arr[j] = sc.nextInt();
            }
            result[i] = res(arr);
        }
        Arrays.sort(result);
        System.out.printf("%.2f", result[result.length - 1]);
    }

    static double res(int[] arr) {
        Arrays.sort(arr);
        int sum = 0;
        for (int i = 1; i < arr.length - 1; i++) {
            sum += arr[i];
        }
        return (double)sum / (arr.length - 2);
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708326.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号