让人很听话 2023-02-02 20:35 采纳率: 88.9%
浏览 8
已结题

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

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

img

#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 (i = 0; i < n; i++)
        {
            for (j = 0; j<i ; j++)
            {
                if (a[i][j] != 0)
                {
                    flash = 0; break;
                }
            }
        }
        if (flash == 1)
        {
            printf("YES\n");
        }
        else
        {
            printf("NO\n");
        }
        }

    return 0;
}

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2023-02-02 21:06
    关注

    改动处见注释,供参考:

    #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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月10日
  • 已采纳回答 2月2日
  • 创建了问题 2月2日