不使用数组,和其他排序解决下面问题:.某比赛有10个评委打分,编写程序,输入评委所给分数,然后求选手的平均分要求去掉一个最高分和一个最低分再求平均。

题目:不使用数组和排序来解决下面问题
.某比赛有10个评委打分,编写程序,输入评委所给分数,然后求选手的平均分要求去掉一个最高分和一个最低分再求平均。

分析:

不采用数组:
可以采取三个变量即可解决问题:
首先定义一个记录10个评委打分的总和的变量sum:
再定义两个变量max,min来时刻记录最大,最小值,
再定义一个temp变量,每次都要记录评委的打分,之后再加到sum,之后再和max比较,如果temp大于max,则将max的值赋值为temp,如果temp小于min,则将min的值赋值为temp,
最后再将sum减去max,min即可;
需要注意的是第一次的赋值操作,将max,min值都初始化为第一次的temp即可;

代码实现:

package exer;

import java.util.Scanner;

/**
 * @author 胖胖的山头
 * @create 2020-10-26 20:42
 */
public class THREE {
    public static void main(String[] args) {
        int max = 0,min = 0,temp;
        Scanner input=new Scanner(System.in);
        double sum=0;
        for (int i = 0; i<10; i++) {
            System.out.print("请第"+(i+1)+"个评委打分:");
            temp=input.nextInt();
            sum+=temp;
            if(temp>=max||i==0) {
                max=temp;
            }
            if(temp<min||i==0) {
                min=temp;
            }
        }
        System.out.println("平均值为:"+(sum-min-max)/8);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值