前一段时间做了这样一道题:在一次比赛中,有10个评委通过键盘录入方式为参赛的选手打分,选手的最后得分为:去掉一个最高分和一个最低分后其余8个选手的平均值。
当时想了半天也没想出来,怎么录入数组来着undefined,然后就卡了半天,想着也不能一个一个录入啊,这得多麻烦。后来解决了,最近才抽出空发出来大家交流一下。
Scanner in = new Scanner(System.in);
//总数
int count = 0;
//定义一个长度为10的数组
int[] array = new int[10];
//定义一个最大值
int max = array[0];
//定义一个最小值
int min = array[0];
//循环数组 数组下表从0开始
for(int i = 0;i < array.length; i++){
//循环输入数据
array = in.nextInt();
//如果这个数大于最大值 这个数变成最大值
if( array > max){
max = array;
}
//如果这个数小于最小值 这个数变成最小值
if( array < min){
min = array;
}
count += array;
}
System.out.println("总计:" + count);
System.out.println("最大值是:"+max);
System.out.println("最小值是:"+min);
count = count - max - min;
System.out.println("平均分:" + count/array.length);
|
|