某比赛有多个评委,评委们对参赛选手打分,用编程实现,对一个参赛选手计算评分,规则是在选手的给定评分列表中,去掉一个最高分和一个最低分,再求出平均分。
第一行是一个整数 n,表示有 n 个评委的评分,且 2<n<10。第二行是 n 个评委的打分,分数之间有一个空格。打分是可以带有小数部分的。
#include <stdio.h>
float ds(float score[],float n)
{
int i;
float sum=0.0,aver=0.0;
float max=score[0],min=score[1];
for(i=0;i<n;i++)
{
if(max<score[i])
{max=score[i];}
if(min>score[i])
{ min=score[i];}
sum+=score[i]; //计算总分
}
sum=sum-max-min; //总分去掉最高分和最低分
aver=sum/(n-2.0); //计算平均分
return aver;
}
int main()
{
int n;
scanf("%d",&n); //n个评委
float score[n];
for(int i=0;i<n;i++)
{
scanf("%e",&score[i]) ; //评分
}
double b=ds(score,n);
printf("%.2lf\n",b);
return 0;
}