数组扩展练习

有一个编程比赛,有5个评委给选手打分.取消最高分和最低分后的平均分就是这个选手的最后得分,

这5个评委的评分为:{99, 100, 98, 97, 96};

    分析:
        1. 5个评委的评分,使用一个数组在保存
        2. 找到数组中的最高分(获取最大值)
        3. 找到数组中的最低分(获取最小值)
        4. 计算所有总分,求和思想
        5. 计算有效总分 = 计算所有总分 - 最高分 - 最低分

        6. 计算最终得分 = 计算有效总分/ 有效人数;

    public static void main(String[] args) {
        // 1. 5个评委的评分,使用一个数组在保存
        // 索引       0   1    2   3   4
        int[] arr = {99, 100, 98, 97, 96};
        // 2. 找到数组中的最高分(获取最大值)
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i]; // 如果取出的数据大于最大值,将取出的数据作为最大值
            }
        }
        // 3. 找到数组中的最低分(获取最小值)
        int min = arr[0]; // 假设0索引的元素就是最小值
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i]; // 如果取出的数据小于最小值,将取出的数据作为最小值
            }
        }

        // 4. 计算所有总分,求和思想
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i]; // 将数组中的数据添加到sum中
        }

        // 5. 计算有效总分 = 计算所有总分 - 最高分 - 最低分
        int total = sum - max - min;
        // 6. 计算最终得分 = 计算有效总分/ 有效人数;
        int avg = total / (arr.length - 2);
        System.out.println("最后得分: " + avg);
    }

猜你喜欢

转载自blog.csdn.net/xiaodan_0916/article/details/80862190