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

输入难度系数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);
}

修改见注释处,供参考:

#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);
}

排序帮你改了下

img


#include <stdio.h>
void main() 
{
    float a[7];
    int i, j;
    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 < 7-1; i++) 
    {
        for (j = 0; j <7-1-i; j++) 
        {
            if (a[j] > a[j+1]) 
            {            
                t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }
        }
    }
    printf("%.2f %.2f %.2f %.2f %.2f %.2f %.2f\n", a[0], a[1], a[2], a[3], a[4], a[5], a[6]);
    printf("该选手总得分为:%.2f", (float)(a[2] + a[3] + a[4])*dif);
}