评委打分——java

 题目: 在编程竞赛中,有六个评委为参赛选手打分,分数为0-100的整数分。

选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分)

(用到数组的遍历,冒泡排序,方法的调用,定义动态数组)

import java.util.Scanner;

public class test{
	public static void main(String args[]) {
		Scanner sc = new Scanner(System.in);
		int[] arr = new int[6];
		for(int x=0;x<arr.length;x++) {
			System.out.println("请输入第"+(x+1)+"个评委打的分数:");
			int score = sc.nextInt();
			arr[x]=score;
		}
		//计算总和sum
		int sum =0;
		for(int i=0;i<arr.length;i++) {
			sum=sum+arr[i];
		}
		int max = getMax(arr);
		int min = getMin(arr);
		
		int avg = (sum-min-max)/(arr.length-2);
		System.out.println("选手的最终得分是:"+avg);
		
	}
	
	//用数组的形式输出评委的分数
	public static void printArray(int[] arr) {
		System.out.print("[");
		for(int x=0; x<arr.length;x++) {
			if(x!=arr.length-1) {
				System.out.print(arr[x]+",");
			}else {
				System.out.print(arr[arr.length-1]);
			}
		}
		System.out.print("]");
	}
	//获取数组中的最大值
	public static int getMax(int[] arr) {
		int max=arr[0];
		for(int x=1;x<arr.length;x++) {
			if(max<=arr[x]) {
				max=arr[x];
			}
		}
		return max;
	}
	
	//获取数组中的最小值
	public static int getMin(int[] arr) {
		int min = arr[0];
		for(int x=1;x<arr.length;x++) {
			if(min>arr[x]) {
				min = arr[x];
			}
		}
		return min;
	}
	
}

运行结果是:

请输入第1个评委打的分数:
20
请输入第2个评委打的分数:
50
请输入第3个评委打的分数:
91
请输入第4个评委打的分数:
60
请输入第5个评委打的分数:
50
请输入第6个评委打的分数:
30
选手的最终得分是:47

猜你喜欢

转载自blog.csdn.net/weixin_53270267/article/details/124119022
今日推荐