问题 C: 零基础学C/C++118——弓型矩阵
题目描述
输入一个正整数n(1<= n <= 6)和n阶方阵a中的每一个元素,如果a是上三角矩阵,输出“YES",否则输出”NO"(上三角矩阵即主对角线以下的元素都为0的矩阵,主对角为从矩阵的左上角至右下角的连线)。
输入
多组测试数据,每组输入一个正整数n,和n行n列的整数,每一行回车结束
输出
如果a是上三角矩阵,输出“YES",否则输出”NO"
样例输入 Copy
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
样例输出 Copy
YES
NO
题解
只需要计算下方sum是不是0即可,如果你会判断对角线的坐标,那么坐标-1就ok。
代码(AC)
点击查看代码
#include <stdio.h>
int main ()
{
int n;
while(scanf("%d",&n)!=EOF)
{ int sum=0;
int a[n][n];
int i,j;
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++)
{
sum=sum+a[i][j];
}
}
if(sum==0)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
return 0;
}