**为啥这个只能输入一组矩阵,显示结果然后就弹出来了?**

为啥这个只能输入一组矩阵,显示结果然后就弹出来了?

img

#include
#define MAXN 20
int main()
{
    int n,t,i,j,k;
    int a[MAXN][MAXN];
    scanf("%d",&t);
    
    for (i = 1; i <=t; i++)
    {  scanf("%d",&n); int flash = 1;
        for (k = 0; k < n; k++)
        {
            for (j = 0; j < n; j++)
            {
                scanf("%d",&a[k][j]);
            }
        }
        for (i = 0; i < n; i++)
        {
            for (j = 0; jif (a[i][j] != 0)
                {
                    flash = 0; break;
                }
            }
        }
        if (flash == 1)
        {
            printf("YES\n");
        }
        else
        {
            printf("NO\n");
        }
        }

    return 0;
}

改动处见注释,供参考:

#include<stdio.h>
#define MAXN 20
int main()
{
    int n,t,i,j,k;
    int a[MAXN][MAXN];
    scanf("%d",&t);

    for (i = 1; i <=t; i++)
    {
        scanf("%d",&n);
        int flash = 1;
        for (k = 0; k < n; k++)
        {
            for (j = 0; j < n; j++)
            {
                scanf("%d",&a[k][j]);
            }
        }
        for (k = 0; k < n; k++)  //for (i = 0; i < n; i++) 修改
        {
            for (j = 0; j < k ; j++) //for (j = 0; j < i ; j++) 修改
            {
                if (a[k][j] != 0)//a[i][j] 修改
                {
                    flash = 0; break;
                }
            }
        }
        if (flash == 1)
        {
            printf("YES\n");
        }
        else
        {
            printf("NO\n");
        }
    }

    return 0;
}