评委打分
青年歌手参加歌曲大奖赛,有10个评委进行打分,将评分按降序排列。试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。
【指导】这道题的核心是排序。将评委所打的10个分数利用数组按降序排列,计算数组中除第一个和最后一个分数以外的数的平均分。
#include <stdio.h>
int main()
{
int a[10],i,min,max,s=0; //s为除最高分和最低分的和,不要忘记初始化为0
float ave;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
min=max=a[0];
for(i=1;i<10;i++)
{
if(a[i]<min)
min=a[i];
if(a[i]>max)
max=a[i];
s+=a[i];
}
s=s+a[0]-min-max;
ave=s/8.0; //我的s定义的是整型变量,因此除数应该写成8.0
printf("%.1f",ave);
return 0;
}