C语言配音大赛评分系统

项目描述

学校举办配音大赛,一共有10位同学报名参加。大赛中有3位评委,每位评委将会对10个作品进行打分。打分的形式不限,可以让一个评委一次打完10个人的分数然后轮到下一位评委打分直到结束,也可以让三个评委轮流给作品打分,打完第一同学的分再轮流给第二位同学打分,以此类推直到结束(打分方式见下表的例子)

方式一 例:
1号评委,请您按顺序给10位选手打分,按回车键分隔
2号评委,请您按顺序给10位选手打分,按回车键分隔。

3号评委,请您按顺序给10位选手打分,按回车键分隔

打分方式二例:
1号选手表演结束,请三位评委录入您的分数,按回车键分隔。
2号选手表演结束,请三位评委录入您的分数,按回车键分隔。

……

10 号选手表演结束,请三位评委录入您的分数,按回车键分隔。

实现代码

#include <stdio.h>

int main() {
    int scores[10][3]; // 存储每位选手的三个评委给出的分数
    float average[10]; // 存储每位选手的平均分数
    float highest = 0; // 最高平均分
    int winner = 0; // 获胜选手的编号

    // 方式一:顺序打分
    /*for (int i = 0; i < 3; i++) {
        printf("请第%d位评委为10位选手打分:\n", i + 1);
        for (int j = 0; j < 10; j++) {
            scanf("%d", &scores[j][i]);
        }
    }*/

    // 方式二:轮流打分
    for (int i = 0; i < 10; i++) {
        printf("请第%d位选手表演,并让三位评委为其打分:\n", i + 1);
        for (int j = 0; j < 3; j++) {
            printf("请第%d位评委为该选手打分:", j + 1);
            scanf("%d", &scores[i][j]);
        }
    }

    // 计算每位选手的平均分
    for (int i = 0; i < 10; i++) {
        int sum = 0;
        for (int j = 0; j < 3; j++) {
            sum += scores[i][j];
        }
        average[i] = (float)sum / 3;
        printf("第%d位选手的平均分为:%.2f\n", i + 1, average[i]);
        if (average[i] > highest) { // 更新最高平均分数和获胜选手
            highest = average[i];
            winner = i + 1;
        }
    }

    printf("最终获胜者为第%d位选手,平均分为%.2f分。\n", winner, highest);

    return 0;
}

这个程序将会让你输入每位选手三位评委给出的分数,然后计算每位选手的平均分,并输出最终获胜者的编号和平均分数。如果要使用方式一,则将代码中注释掉的部分解除注释即可。

© 版权声明
THE END
喜欢就支持一下吧
点赞10赞赏 分享