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#include<stdio.h> #include<math.h> int main() { int n; while(scanf("%d",&n)!=EOF) { double sum=0; double max=-1,min=101,a; int t=n; <span style="color:#ff0000;">//while(n--) </span> while(t--) { scanf("%lf",&a); sum=sum+a; // printf("%lf",sum); if(a>max) max=a; if(a<min) min=a; } // printf("%lf %lf\n",max,min); double ans; // printf("%lf\n",sum-max-min); ans=(sum-max-min)/(n-2<span style="color:#cc0000;">);//检查了好几遍才发现错误在这,由于刚开始while(n--)使n的值发生了变化,所以输出结果才会一直为负数。 </span> printf("%.2lf\n",ans); } return 0; }