青年歌手大奖赛_评委会打分 --JAVA

题目:

青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。

Input

输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。

Output

对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。

Sample Input

3 99 98 97
4 100 99 98 97

Sample Output

98.00
98.50

思路:

找出最大值,最小值,去掉,再求取平均值,注意输出的格式;

代码如下:

JAVA:

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
	Scanner input=new Scanner(System.in);
	while(input.hasNext()) {
		int max=-1,min=101,sum=0;
		int n=input.nextInt();
		for(int i=0;i<n;i++) {
			int a=input.nextInt();
			sum=sum+a;
			if(a>max)
				max=a;
			if(a<min)
				min=a;
		}
		sum=sum-max-min;
		double ss=sum*1.0/(n-2);
		System.out.printf("%.2f\r\n",ss);
	}
}
}

C++:

#include<stdio.h>

int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        int a,b=101,i,t=0,s=0;
        double x;
        for(i=0; i<n; i++)
        {
            scanf("%d",&a);
            s=s+a;
            if(t<a)
                t=a;
            if(b>a)
                b=a;
        }
        x=(s-t-b)*1.0/(n-2);
        printf("%.2lf\n",x);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/titi2018815/article/details/84072490
今日推荐