想知道为什么我的输出少了一行??


#include<stdio.h>
int main()
{
    int t = 0;
    double sum = 0;
    scanf("%d", &t);
    int flag1 = 1;
    int flag2 = 1;
    double array[250][14] = { 0 };
    for (int i = 0; i < t; i++)
    {
        for (int j = 0; j < 14; j++)
        {
            scanf("%lf", &array[i][j]);
        }
    }
    for (int i = 0; i < t; i++)
    {
        flag1 = 1;
        flag2 = 1;
        for (int j = 0; j < 14; j++)
        {
            //低于 36.236.2 或高于 40.040.0 的
            if (array[i][j] < 36.2 || array[i][j]>40.0)
            {
                flag1 = 0;
            }
            else if (array[i][j] > 37.2 && array[i][j] <= 40.0)
            {
                flag2 = 0;
            }
            else
            {
                sum += array[i][j];
            }

        }
        if (flag1 == 0)
        {
            printf("error\n");
            break;
        }
        else if (flag2 == 0)
        {
            printf("danger\n");
            break;
        }

        else
            printf("%lf\n", sum * 1.0 / 14);

    }
}
}

img


为什么我的输出少了一行??

把第42行 47行 这两行的 break; 删除即可。
然后在第21行后面插入一行,加入 sum = 0;sum 也需要复位。

这不是三行输出吗?哪少了?