A.A呐 2021-12-27 14:08 采纳率: 100%
浏览 26
已结题

选手得分系统无法正常输出数组

输入难度系数3.2
评分输入5点0再输入5.5输出的数组异常

#include <stdio.h>
void main() 
{
    float a[7];
    int i, j, t;
    float dif = 0;
    printf("请输入该选手动作难度:");
    scanf("%f", &dif);
    for (i = 0; i < 7; i++)
    {
        printf("请输入第%d个评委的评分:",i+1);
        scanf("%f", &a[i]);             
    }
    for (i = 0; i < 7; i++) 
    {
        for (j = i + 1; j <= 6; j++) 
        {
            if (a[i] > a[j]) 
            {            
                t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
        }
    }
    printf("%.2f %.2f %.2f %.2f %.2f %.2f %.2f", a[0], a[1], a[2], a[3], a[4], a[5], a[6]);
    printf("该选手总得分为:%.2f", (float)(a[2] + a[3] + a[4])*dif);
}

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2021-12-27 14:42
    关注

    修改见注释处,供参考:

    #include <stdio.h>
    void main()
    {
        float a[7];
        int i, j;     // t;
        float dif = 0, t;
        printf("请输入该选手动作难度:");
        scanf("%f", &dif);
        for (i = 0; i < 7; i++)
        {
            printf("请输入第%d个评委的评分:", i + 1);
            scanf("%f", &a[i]);
        }
        for (i = 0; i < 6; i++)   //for (i = 0; i < 7; i++)
        {
            for (j = i + 1; j <= 6; j++)
            {
                if (a[i] > a[j])
                {
                    t = a[i];
                    a[i] = a[j];
                    a[j] = t;
                }
            }
        }
        printf("%.2f %.2f %.2f %.2f %.2f %.2f %.2f", a[0], a[1], a[2], a[3], a[4], a[5], a[6]);
        printf("该选手总得分为:%.2f", (float)(a[2] + a[3] + a[4]) * dif);
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月6日
  • 已采纳回答 12月29日
  • 创建了问题 12月27日