题目描述
青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分
输入
输入数据有多组,每组占一行,每行的第一个数是n(2<n<100),表示评委的人数,然后是n个评委的打分。
输出
对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。
样例输入
3 99 98 97
4 100 99 98 97
样例输出
98.00
98.50
AC代码:
#include <iostream>
#include <stdio.h>
#include <cmath>
using namespace std;
int main()
{
int n,i,count=0;
double min,m,max,sum[100]={0};
while((scanf("%d",&n))!=EOF)
{
min=100;
max=0;
i=1;
while(i++<=n)
{
scanf("%lf",&m);
if(m<min)
min=m;
if(m>max)
max=m;
sum[count]+=m;
}
sum[count]=(sum[count]-max-min)/(n-2);
count++;
}
count--;
i=0;
while(i<=count)
{
printf("%.2f\n",sum[i++]);
}
return 0;
}
#include <stdio.h>
#include <cmath>
using namespace std;
int main()
{
int n,i,count=0;
double min,m,max,sum[100]={0};
while((scanf("%d",&n))!=EOF)
{
min=100;
max=0;
i=1;
while(i++<=n)
{
scanf("%lf",&m);
if(m<min)
min=m;
if(m>max)
max=m;
sum[count]+=m;
}
sum[count]=(sum[count]-max-min)/(n-2);
count++;
}
count--;
i=0;
while(i<=count)
{
printf("%.2f\n",sum[i++]);
}
return 0;
}