描述
编写一个评分程序,接受M评委对N个选手的N个得分(0<=得分<=10),按照记分规则,对于每个选手的最终得分是去掉一个最高分和一个最低分,其余评分的平均分,求所有选手的得分并输出。 |
输入
只有一组测试数据: 第一行有两个正整数M和N(3=<M,N=<100),分别表示参与评分的评委人数和参赛选手数。 接下来共有N行数据,第i行有M个数据(1=<i=<N),表示M个评委给第i个选手的得分(double型数据)。 |
输出
输出共有N行,每行只有一个实数,表示对应选手的平均得分,小数点后保留2位。 |
难度
较难 |
输入示例
3 3 10 10 9.9 9.9 9.8 9.6 9.8 9.7 9.5 |
输出示例
10.00 9.80 9.70 |
#include<stdio.h>
int main (void) {
int M, N;
scanf_s("%d%d", &M, &N);
double a[100][100], sum = 0;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
scanf_s("%lf", &a[i][j]);
double temp = a[i][j];
for (int k = 0; k < j; k++)
{
if (a[i][k] > a[i][j]) {
for (int l = j; l > k; l--)
{
a[i][l] = a[i][l - 1];
}
a[i][k] = temp;
}
}
}
for (int p = 1; p < M - 1; p++)
{
sum = sum + a[i][p];
}
printf("%.2lf\n", sum);
sum = 0;
}
}