ACM----HDU-2014青年歌手大奖赛 _评委会打分

Problem Description
青年歌手大奖赛中, 评委会给参赛选手打分。 选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
 
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
 
Author
lcy
 
Source
C 语言程序设计练习(三)
 
Recommend
lcy
解题思路:首先输入评委人数,之后输入每个评委打分,通过按位比较找出最高分和最低分,将所有评委打分加和后减掉最高分与最低分后求平均分为输出的最后得分
代码实现:
#include<stdio.h>

int main(){
    int n,sum;
    double average;
    int a[100];
    int i,j,k;
    while(scanf("%d",&n)!=EOF){
        j=0;k=0;average=0;sum=0;
        for(i=0;i<n;i++){
            scanf("%d",&a[i]);
            sum+=a[i];//得分和
            if(i==0)k=a[i];
            if(j<a[i])j=a[i];//找出最高分
            if(a[i]<k)k=a[i];//找出最低分
        }
       average=(sum-j-k)*1.0/(n-2);//求平均分
        printf("%.2lf\n",average);
    }
}

 

 

posted @ 2021-01-03 21:45  AA、  阅读(151)  评论(0编辑  收藏  举报