代码实现:
#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a, const void *b)
{
return *(double*)a > *(double*)b ? 1 : -1;
}
int main()
{
int N, M;
scanf("%d %d", &N, &M);
double *score = (double*)malloc(sizeof(double)*(N - 1));
for (int i = 0; i < N; i++)
{
double sum = 0, teacher;
int cnt = 0;
scanf("%lf", &teacher);
for (int j = 0; j < N - 1; j++)
{
double s;
scanf("%lf", &s);
if (s >= 0 && s <= M)
score[cnt++] = s;
}
qsort(score, cnt , sizeof(double), cmp);
for (int j = 1; j < cnt - 1; j++)
sum += score[j];
sum /= cnt - 2;
sum = (sum + teacher) / 2;
if (((int)(sum * 10) % 10) >= 5)
sum = (int)sum + 1;
else sum = (int)sum;
printf("%.0f\n", sum);
}
return 0;
}