Problem J: 判断是否上三角矩阵
Description
输入一个正整数n(1<= n <= 6)和n阶方阵a中的每一个元素,如果a是上三角矩阵,输出“YES",否则输出”NO"(上三角矩阵即主对角线以下的元素都为0的矩阵,主对角为从矩阵的左上角至右下角的连线)。
Input
多组测试数据,每组输入一个正整数n,和n行n列的整数,每一行回车结束
Output
Sample Input
3
1 2 3
0 4 5
0 0 6
4
1 2 3 4
5 6 7 8
9 0 11 12
13 0 0 16
Sample Output
YES
NO
#include<stdio.h>
int main()
{
int n,a[10][10],i,j;
while(scanf("%d",&n)!=EOF)
{
int flag=1; //flag用来做自动判断
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)
flag;
else
flag=0;
}
}
if(flag)
printf("YES\n");
if(flag==0)
printf("NO\n");
}
return 0;
}
本文介绍了一个简单的算法,用于判断输入的方阵是否为上三角矩阵。通过读取矩阵元素并检查主对角线下方的元素是否全为零来实现。如果满足条件,则输出“YES”,否则输出“NO”。示例输入输出提供了清晰的使用说明。
1万+

被折叠的 条评论
为什么被折叠?



