#include<stdio.h>
#define N 10
#define M 10
float Average(int a[M][N], int n, int m)
{
int i,j;
int l = n - 2;
float b[N];
for (i = 0; i < m; i++)
{
float sum = 0;
int max = 0, min =0 ;
for (j = 0; j < n; j++)
{
if (a[i][max] < a[i][j])
max = j;
if (a[i][min] > a[i][j])
min = j;
}
for (j = 0; j < n; j++)
{
if (max != j && min != j)
sum += a[i][j];
}
b[i] = (float)sum/l;
}
for (i = 0; i < m-1; i++)
{
for (j = i + 1; j < m; j++)
{
if (b[i] < b[j])
{
float tmp = b[i];
b[i] = b[j];
b[j] = tmp;
}
}
}
for (i = 0; i < m; i++)
{
printf("%.2f ", b[i]);
}
}
int main()
{
int n, m, i,j, a[M][N];
float aver;
printf("输入评委人数:");
scanf("%d", &n);
printf("输入选手人数:");
scanf("%d", &m);
for (i = 0; i < m; i++)
{
printf("第%d个人成绩:",i+1);
for (j = 0; j < n; j++)
{
scanf("%d", &a[i][j]);
}
}
Average(a, n, m);
return 0;
}
n个评委给m个选手打分,去掉一个最高分,去掉一个最低分,平均分按由大到小排列
于 2024-05-29 23:48:16 首次发布