7-142判断上三角矩阵

上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。

本题要求编写程序,判断一个给定的方阵是否上三角矩阵。

输入格式:

输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。

输出格式:

每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。

思考过程:看到这道题,感觉就是用二维数组来做这种看起来像二维数组的题(dog) 

下面代码区:

#include <stdio.h>
int main()
{
    int T,n,a[10][10];            //创建一个小于等于题目锁给最大n值的a[10][10]
    int i,j;                      //循环用的变量
    scanf("%d",&T);                 //保存要输入几次的数据
      while(T)
    {
          scanf("%d",&n);               
          for(i=0;i<n;i++)
          {
              for(j=0;j<n;j++)
              {
                  scanf("%d",&a[i][j]);             //遍历二维数组来保存单次输入的三角矩阵
              }
          }
          for(i=1;i<n;i++)
          {
              for(j=0;j<i;j++)
              {
                  if(a[i][j]!=0)
                  {
                      T--;                  //因为遍历一次,则待测矩阵的个数-1;
                      printf("NO\n");       //遍历二维数组,根据下标关系,看起是否对角线左下角是否都为0
                    goto out;               //不为0,则输出NO,并跳出此次大循环到out的位置
                  }
              }
          }
          printf("YES\n");           //如果上边遍历二维数组之后,没有进到if语句,就说明左下角都是0,则输出YES
          T--;                       //因为遍历此次矩阵,则待测矩阵的个数也-1;
          out: ;
    }
          return 0;
}

矩阵的下标关系

 

 3*3的二维数组,

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值