校歌手大奖赛中每个评委会给每个参赛选手打分,请用类描述每个选手的被评委的评分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
输入数据有多组,第一行为数据组数T
每组数据第一行两个正整数 n m (3 <= n,m <= 100),表示有 n 个 评 委 , m个选手。
接下来 n 行,每行 m 个正整数。每行表示一个评委给 m 个选手的分数,分数为[0,100]的整数。
请将结果输出对于每组输入数据输出 m 行,每行表示一个选手的得分,结果保留 2 位小数。
1 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1.00 2.00 3.00 4.00
_________________________________________________________________________________
套两层循环
把每位选手的最大值得分与最小值得分分别求出来就可以。
#include<stdio.h>
int main()
{
int t,i,a[100][100],j;
scanf("%d",&t);
while(t--){
int n,m;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++){
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<m;i++){
int min,max=0;
float sum=0;
for(j=0;j<n;j++){
if(a[j][i]>max) max=a[j][i];
if(j==0) min=a[j][i];
else if(a[j][i]<min) min=a[j][i];
sum+=a[j][i];
}
printf("%.2f\n",(sum-min-max)/(n-2));
}
}
return 0;
}