【C语言】判断是否为上三角矩阵

#include <stdio.h>
#define N 81
int main()
{
  int n;
  int a[N][N];
  int i,j;
  int t=1;
  printf("Input n:");
  scanf("%d",&n);
  printf("Input array:\n");
  for(i=0;i<n;i++)
  {
    for(j=0;j<n;j++)
    {
      scanf("%d",&a[i][j]);
    }
  }
  for(i=0;i<n;i++)
  {
    for(j=0;j<i;j++)
    {
      if(a[i][j]!=0)
      {
        t=0;//如果不是0,可以直接确定主对角线以下不是0,直接退出循环
        break;
      }
    }
  }
  if(t==0)
  {
    printf("NO");
  }
  else if(t==1)
  {
    printf("YES");
  }
  return 0;
}

【问题描述】4.9 判断是否为上三角矩阵。

输入一个正整数n(1<n=<6)和n阶矩阵a中的元素,如果a是上三角矩阵,输出YES;否则,输出NO。

(上三角矩阵,即主对角线以下的元素都为0,主对角线为从矩阵的左上角至右下角的连线)。

【输入形式】

从键盘输入一个正整数n和矩阵阵列。

【输入输出样例1】

Input n:3

Input array:(输出后换行)

1 2 3

0 4 5

0 0 6

YES

【输入输出样例2】

Input n:3

Input array:(输出后换行)

1 2 3

4 5 6

7 8 9

NO

【样例说明】

输出提示符后冒号为英文字符,后面没有空格。

输出结束不换行。