水题, 用二维数组即可求解. 为了减少遍历次数, 在输入的时候即保存下每个选手的最高分和最低分, 分别存在一维数组max和min中. 结果一不小心就排到第一了. 第一次哇, 虽然是水题还是蛮高兴的~
代码
#include <stdio.h>
#define MAXLEN 100
int main()
{
int t, n, m;
int i, j;
float average;
int score[MAXLEN][MAXLEN];
int max[MAXLEN];
int min[MAXLEN];
scanf("%d", &t);
while(t--)
{
scanf("%d%d", &n, &m);
for(i = 0; i < m; i++)
{
max[i] = 0;
min[i] = 100;
}
for(i = 0; i < n; i++)
{
for(j = 0; j < m; j++)
{
scanf("%d", &score[i][j]);
if(score[i][j] > max[j])
max[j] = score[i][j];
if(score[i][j] < min[j])
min[j] = score[i][j];
}
}
for(j = 0; j < m; j++)
{
average = 0;
for(i = 0; i < n; i++)
{
average += score[i][j];
}
average = (average - max[j] - min[j]) / (n - 2);
printf("%.2f\n", average);
}
}
return 0;
}