hdu2309ICPC Score Totalizer Software

本文介绍了一个基于C++实现的国际小丑与皮埃罗竞赛(ICPC)评分系统。该系统通过计算除去最高分和最低分后的平均分数来决定每位参赛者的最终得分。文章提供的代码能够处理多个数据集,并考虑到评分人数的变化。
Problem Description
The International Clown and Pierrot Competition (ICPC), is one of the most distinguished and also the most popular events on earth in the show business. 
One of the unique features of this contest is the great number of judges that sometimes counts up to one hundred. The number of judges may differ from one contestant to another, because judges with any relationship whatsoever with a specific contestant are temporarily excluded for scoring his/her performance. 

Basically, scores given to a contestant's performance by the judges are averaged to decide his/her score. To avoid letting judges with eccentric viewpoints too much influence the score, the highest and the lowest scores are set aside in this calculation. If the same highest score is marked by two or more judges, only one of them is ignored. The same is with the lowest score. The average, which may contain fractions, are truncated down to obtain final score as an integer. 

You are asked to write a program that computes the scores of performances, given the scores of all the judges, to speed up the event to be suited for a TV program. 

 

 

Input
The input consists of a number of datasets, each corresponding to a contestant's performance. There are no more than 20 datasets in the input. 

A dataset begins with a line with an integer n, the number of judges participated in scoring the performance (3 ≤ n ≤ 100). Each of the n lines following it has an integral score s (0 ≤ s ≤ 1000) marked by a judge. No other characters except for digits to express these numbers are in the input. Judges' names are kept secret. 

The end of the input is indicated by a line with a single zero in it. 

 

 

Output
For each dataset, a line containing a single decimal integer indicating the score for the corresponding performance should be output. No other characters should be on the output line. 

 

 

Sample Input
3 1000 342 0 5 2 2 9 11 932 5 300 1000 0 200 400 8 353 242 402 274 283 132 402 523 0
 

 

Sample Output
342 7 300 326
 

 

Source
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>

using namespace std;



int main()
{
    int n,i,j,k;
    int sum;
    while(scanf("%d",&n)!=EOF,n)
    {
        sum = 0;
        int mx = 0,mi = 1100;
        for(i = 0;i<n;i++)
        {
            int a;
            scanf("%d",&a);
            mi = min(mi,a);
            mx = max(mx,a);
            sum += a;
        }
        cout<<(sum-mx-mi)/(n-2)<<endl;
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/wos1239/p/4556964.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值