7-3 校园竞赛-十位评委 (10分)

题目要求:

我们学院经常组织各项技能比赛,例如电脑文化节中Flash作品比赛,台下有10位评委来评判参赛者的作品,评委打分:0-100分的整数,参赛者最终得分是去掉一个最高分,去掉一个最低分,所剩分数的平均分。

要求设计一个软件,可以连续输入10位评委的成绩,并且可以无限次计算参赛者的成绩(提示,不退出即可继续输入下一批成绩)

输入格式:

90 100 80 70 65 86 77 89 91 73

输出格式:

100 65 82

输入样例:

在这里给出一组输入。例如:

90
100
80
70
65
86
77
89
91
73
 

输出样例:

在这里给出相应的输出。例如:

100 65
82
 
import java.util.Scanner;
public class Main{
    public static void main(String []args){
        Scanner s = new Scanner(System.in);
        int a[]=new int [10];
        int max=0;
        int min=0;
        int sum=0;
        int res;
        while(true)
        {
            for(int i=0;i<10;i++)
            {
                a[i]=s.nextInt();
                if(i==0)
                {
                    max = a[0];
                    min = a[0];
                    sum = 0;
                }
                else
                {
                    if(max<a[i])
                        max=a[i];
                    if(min>a[i])
                        min=a[i];
                }
                sum+=a[i];
                if(i==9)
                {
                    res = sum - max - min 
                    res/=8;
                    System.out.println(max+" "+min);
                    System.out.print(res);
                }
            }
        }
    }
}
 
本题需要注意的就是可以无限次计算参赛者的成绩(提示,不退出即可继续输入下一批成绩),这里用while(true)来实现的;
同时可以将min,max,sum,res的定义放到for循环中这样就不用在下一组输入时进行重置。
                    res = sum - max - min 
                    res/=8;
也完全可以用int res =(int) ((sum-max-min)/8);来代替更简洁

猜你喜欢

转载自www.cnblogs.com/ywrxjry/p/12424048.html
今日推荐