青年歌手大奖赛_评委会打分
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit

Status

Practice

HDU 2014
Description
青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
Input
输入数据有多组,每组占一行,每行的第一个数是n(2

#include <stdio.h>
int main (){
    int n,i,j;
    float a[105],sum,max,min,s;
    while(scanf("%d",&n)!=EOF){
        sum=0;
        for (i=1;i<=n;i++){
            scanf("%f",&a[i]);
            sum+=a[i];
        }
        max=a[1];min=a[1];
        for (i=1;i<=n;i++){
            if (a[i]<=min) {
            min=a[i];
            }
            if (a[i]>=max){
            max=a[i];   
            }
        }
        j=n-2;
    s=(sum-max-min)/j;
    printf("%.2f\n",s); 


    }
    return 0;
}

定义数组个数时,不妨将数组个数较题目要求多几个,以防止数组上标溢出,先将数组中任意存入的一个值赋于max,min,再利用for循环与if选择,得到最大值与最小值。