#include <stdio.h> #include <stdlib.h>

int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; }

int main() { int N, M, k; scanf("%d %d %d", &N, &k, &M);

int scores[N][k];
for (int i = 0; i < N; i++) {
    for (int j = 0; j < k; j++) {
        scanf("%d", &scores[i][j]);
    }
}

double final_scores[N];
for (int i = 0; i < N; i++) {
    qsort(scores[i], k, sizeof(int), cmp);
    double sum = 0;
    for (int j = 1; j < k-1; j++) {
        sum += scores[i][j];
    }
    final_scores[i] = sum / (k-2);
}

qsort(final_scores, N, sizeof(double), cmp);

for (int i = N-1; i >= N-M; i--) {
    printf("%.3f ", final_scores[i]);
}

return 0;
编写一个C语言代码学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审得到k个成绩。系统需要去掉一个最高分和一个最低分将剩下的分数取平均就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。输入格式:输入第一行给出3个正整数N3 N ≤10 4 学生总数、k3 ≤ k ≤ 10每份作业的评审数、M≤ 20需要输出的学生数。随后N行每行给出一份作业得到的k个评审成绩在区间0

原文地址: https://www.cveoy.top/t/topic/hDgv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录