Sicily 1817 校歌手大奖赛

水题, 用二维数组即可求解. 为了减少遍历次数, 在输入的时候即保存下每个选手的最高分和最低分, 分别存在一维数组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;
}

 

posted @ 2010-11-14 17:30  普兒  阅读(829)  评论(0编辑  收藏  举报