苦逼的周大爷

博客园 首页 联系 订阅 管理

Description

 

运动员跳水时,有n个评委打分,假设为10分制,有两位小数。如果去掉最高分和最低分,该运动员的得分是多少?

 

Input

 

有多组测试数据。第一行是整数T,表示测试数据的组数。每一组测试数据只有一行,分别为整数n和n个各评委的打分,每个数后有一个空格。该行没有其它多余的符号。2<n<=100。

 

Output

 

对应每组输入,输出该运动员的得分,保留2位小数。该行不能有其它多余的符号。

 

Sample Input

 

1
8 10.00 9.82 7.87 2.66 3.36 7.43 9.02 6.14

 

Sample Output

 

7.27

解法:

 1 #include <stdio.h>
 2 #include <math.h>
 3 int i,j,t,n[1000];
 4 float a[1000][1000],min[1000],max[1000],avg[1000],sum[1000];
 5 int main()
 6 {
 7     scanf("%d",&t);
 8     for (i=0;i<t;i++)
 9     {
10         scanf("%d",&n[i]);
11         for (j=0;j<n[i];j++) scanf("%f",&a[i][j]);
12     }
13     for (i=0;i<t;i++)
14     {    
15         max[i]=0;
16         for (j=0;j<n[i];j++)
17         {
18             if (a[i][j]>max[i]) max[i]=a[i][j];    
19         }
20         min[i]=max[i];
21         for (j=0;j<n[i];j++)
22         {
23             if (a[i][j]<min[i]) min[i]=a[i][j];    
24         }
25         
26         sum[i]=0;
27         for (j=0;j<n[i];j++) sum[i]=sum[i]+a[i][j];
28         avg[i]=(sum[i]-max[i]-min[i])/(n[i]-2);
29         printf("%4.2f\n",avg[i]);
30     }
31 }

 

posted on 2013-10-17 21:50  苦逼的周大爷  阅读(898)  评论(0编辑  收藏  举报