Java案例:裁判判分

题目:

在编程竞赛中,有6个评委为参赛的选手打分,打分的分数范围为0-100的整数分。java

选手的最后得分规则为:(最高分算法,最低分算法,平均值算法)算法

去掉一个最高分,再去掉一个最低分,编程

其他4个分数的平均值就是选手最终分数。(不考虑小数部分)dom

打印结果以下:工具

今日(20xx-xx-xx)6位评委的分数分别为:9三、2四、5四、7八、9九、69code

去掉一个最高分、去掉一个最低分字符串

最终得分为:73分get

代码实现:

/*
        重点:最值算法
    * 在编程竞赛中,有6个评委为参赛的选手打分,打分的分数范围为0-100的整数分。
        选手的最后得分规则为:(最高分算法,最低分算法,平均值算法)
        去掉一个最高分,再去掉一个最低分,
        其他4个分数的平均值就是选手最终分数。(不考虑小数部分)

            打印结果以下:
            今日(20xx-xx-xx)6位评委的分数分别为:9三、2四、5四、7八、9九、69
            去掉一个最高分、去掉一个最低分
            最终得分为:73分
    * */
    public static void main(String[] args) {
        //①准备数据
        //定义六个评委的分数
        int a,b,c,d,e,f;
        //定义两个变量:最高分,最低分
        int max,min;
        //定义变量保存最终得分
        int finalTotal;
        //获取当前时间
        Date d1 = new Date();
        //获取年月日的字符串
        String today = (d1.getYear()+1900)+"-"+(d1.getMonth()+1)+"-"+d1.getDate();
        //定义随机数工具
        Random r1 = new Random();
        //②处理数据
        //生成随机分数
        a = r1.nextInt(101);
        b = r1.nextInt(101);
        c = r1.nextInt(101);
        d = r1.nextInt(101);
        e = r1.nextInt(101);
        f = r1.nextInt(101);
        //获取最高分
        max = a>b?a:b;
        max = max>c?max:c;
        max = max>d?max:d;
        max = max>e?max:e;
        max = max>f?max:f;

        //获取最低分
        min = a<b?a:b;
        min = min<c?min:c;
        min = min<d?min:d;
        min = min<e?min:e;
        min = min<f?min:f;
        //最终得分 = (6个分数的总分-最高分-最低分)/4
        finalTotal = (a+b+c+d+e+f-max-min)/4;

        //③展现结果
        System.out.println("今日("+today+")6位评委的分数分别为:"
                +a+"、"+b+"、"+c+"、"+d+"、"+e+"、"+f);
        System.out.println("去掉一个最高分"+max+"、去掉一个最低分"+min);
        System.out.println("最终得分为:"+finalTotal+"分");
    }
相关文章
相关标签/搜索