赛场统分问题描述:
在编程竞赛中,有10个评委为参赛的选手打分,分数为0~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
代码如下:
package number;
import java.util.Scanner;
public class ch2_4 {
public static void main(String[] args) {
int i,max,min,sum;
int x[]=new int[10];
max=0; //注意,这里存放最小值0
min=100;//注意,这里存放最大值100
sum=0;
for(i=0;i<10;i++) //循环10次,给10个人打分
{
System.out.print("请输入第"+(i+1)+"分数:");
Scanner input=new Scanner(System.in);
x[i]=input.nextInt(); //键盘接收分数,存入数组
sum=sum+x[i]; //累加求和
//通过打擂方式求最大值、最小值
if(x[i]>max)max=x[i];
if(x[i]<min)min=x[i];
}
System.out.println("去掉一个最高分和一个最低分: "+max+"、"+min);
System.out.println("平均分: "+(sum-max-min)/8);
}
}
运行结果如下: