sicily 1817. 校歌手大奖赛

Description

校歌手大奖赛中每个评委会给每个参赛选手打分,请用类描述每个选手的被评委的评分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。

Input

输入数据有多组,第一行为数据组数T

每组数据第一行两个正整数 n m (3 <= n,m <= 100),表示有 n 个 评 委 , m个选手。

接下来 n 行,每行 m 个正整数。每行表示一个评委给 m 个选手的分数,分数为[0,100]的整数。

Output

请将结果输出对于每组输入数据输出 m 行,每行表示一个选手的得分,结果保留 2 位小数。

水题,二维数组存储,一维数组记录最高最低分,最后统计输出即可

View Code
 1 #include<stdio.h>
 2 int score[100][100];
 3 int main()
 4 {
 5     int t, n, m, i, j, sum;
 6     int max[100], min[100];
 7     
 8     scanf("%d", &t);
 9     
10     while(t--)
11     {
12         scanf("%d %d", &n, &m);
13         
14         for( i = 0; i < m; i++ )
15         {
16             max[i] = -1;
17             min[i] = 101;
18         }
19         
20         for( i = 0; i < n; i++ )
21             for( j = 0; j < m; j++ )
22             {
23                 scanf("%d", &score[i][j]);
24                 if( score[i][j] > max[j] )
25                     max[j] = score[i][j];
26                 if( score[i][j] < min[j] )
27                     min[j] = score[i][j];
28             }
29                 
30         
31         for( i = 0; i < m; i++ )
32         {
33             sum = 0;
34             for ( j = 0; j < n; j++ )
35                 sum += score[j][i];
36             sum -= max[i] + min[i];
37             printf("%.2lf\n", ((double)sum)/(n-2) );
38         }
39     }
40     
41     return 0;
42 }
原文地址:https://www.cnblogs.com/joyeecheung/p/2891303.html