Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 148269 Accepted Submission(s): 72784
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> int main(void){ int i,n,max,min; //max记录最大值,min记录最小值 int a[100]; double num; while(scanf("%d",&n)!=EOF){ if(n>2&&n<=100){ max=0; min=100; for(i=0;i<n;i++){ scanf("%d",&a[i]); if(max<a[i]) max=a[i]; if(min>a[i]) min=a[i]; } num=0; for(i=0;i<n;i++) //求总值 num+=a[i]; printf("%.2lf\n",(num-min-max)/(n-2)); } } }这道题呢,比较简单,只需要记录一下最大值和最小值,然后就求值计算就可以了。
