项目描述
学校举办配音大赛,一共有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