Edgar~ 2022-05-28 10:22 采纳率: 100%
浏览 103
已结题

3位评委给位选手评分,以平均分计算每位选手的最终成绩

3位评委给位选手评分,以平均分计算每位选手的最终成绩,并以平均值从高到低逆序形式输出,输出形式为;一等奖一人,二等奖一人,三等奖一人

  • 写回答

2条回答

  • qfl_sdu 2022-05-28 10:37
    关注

    生成二维数组,然后计算平均值,最后对数组排序就可以了,运行结果及代码如下:

    img

    代码:

    #include <stdio.h>
    #define MAXNMB 100
    int main()
    {
        int a[MAXNMB][3];
        float av[MAXNMB],t;
        int index[MAXNMB];
        int i,j,n,k;
        printf("请输入参赛选手人数:");
        scanf("%d",&n); //或者用 scanf_s("%d",&n);
        for(i=0;i<n;i++)
        {
            printf("请输入3位评委对选手%d的评分:",i+1);
            index[i] = i;
            av[i] = 0;
            for(j=0;j<3;j++)
            {
                scanf("%d",&a[i][j]);
                av[i] += a[i][j];
            }
            av[i] = av[i]/3.0;
        }
        //排序
        for (i=0;i<n-1;i++)
        {
            for(j=0;j<n-1-i;j++)
            {
                if(av[j] < av[j+1])
                {
                    t = av[j];
                    av[j] = av[j+1];
                    av[j+1] = t;
                    
                    k = index[j];
                    index[j] = index[j+1];
                    index[j+1] = k;
    
                }
            }
        }
        //输出结果
        
        printf("一等奖一名,二等奖一名,三等奖一名\n");
        /*
        printf("一等奖:选手%d  得分:",index[0]+1);
        for(i=0;i<3;i++)
            printf("%d ",a[index[0]][i]);
        printf(",平均分:%f\n",av[0]);
    
        printf("二等奖:选手%d  得分:",index[1]+1);
        for(i=0;i<3;i++)
            printf("%d ",a[index[1]][i]);
        printf(",平均分:%f\n",av[1]);
    
        printf("三等奖:选手%d  得分:",index[2]+1);
        for(i=0;i<3;i++)
            printf("%d ",a[index[2]][i]);
        printf(",平均分:%f\n",av[2]);
        //所有结果
        printf("--------所有人得分-----------\n");*/
        for(i = 0;i<n;i++)
        {
            printf("排名:%d. 选手:%d  得分:",i+1,index[i]+1);
            for(j=0;j<3;j++)
                printf("%d ",a[index[i]][j]);
            printf(",平均分:%f\n",av[i]);
    
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月5日
  • 已采纳回答 5月28日
  • 创建了问题 5月28日

悬赏问题

  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R