5位评委给三位选手评分,以平均分计算每位选手的最终成绩,请你编程实现该比赛评分系统。要求每位选手都有自己的编号(手动输入),每位评委的评分手动输入
2条回答
- qfl_sdu 2022-05-28 11:07关注
需要根据平均分排序吗,如果需要排序,就把下面代码中的注释取消就可以了。
无需排序的运行结果:代码:
#include <stdio.h> #define MAXNMB 3 int main() { int a[MAXNMB][5]; //选手成绩 int id[MAXNMB]; //选手编号 float av[MAXNMB],t;//记录选手平均分 int i,j,n,k; for(i=0;i<MAXNMB;i++) { printf("请输入选手编号:"); scanf("%d",&id[i]); printf("请输入5位评委对选手%d的评分:",id[i]); av[i] = 0; for(j=0;j<5;j++) { scanf("%d",&a[i][j]); av[i] += a[i][j]; } av[i] = av[i]/5.0; //计算平均分 } //根据平均分排序,如果需要排序,就把下面的注释取消掉 /* for (i=0;i<MAXNMB-1;i++) { for(j=0;j<MAXNMB-1-i;j++) { if(av[j] < av[j+1]) { //交换id n = id[j]; id[j] = id[j+1]; id[j+1] = n; //交换数组 for(k = 0;k<5;k++) { n = a[j][k]; a[j][k] = a[j+1][k]; a[j+1][k] = n; } //交换平均值 t = av[j]; av[j] = av[j+1]; av[j+1] = t; } } }*/ //输出结果 for(i = 0;i<MAXNMB;i++) { printf("选手:%d 得分:",id[i]); for(j=0;j<5;j++) printf("%d ",a[i][j]); printf(",平均分:%f\n",av[i]); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
- ¥15 fluent的在模拟压强时使用希望得到一些建议
- ¥15 STM32驱动继电器
- ¥15 Windows server update services
- ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
- ¥15 模糊pid与pid仿真结果几乎一样
- ¥15 java的GUI的运用
- ¥15 Web.config连不上数据库
- ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
- ¥15 怎么配置广告联盟瀑布流