判断上三角矩阵

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

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

输入格式:

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

输出格式:

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

输入样例:

复制代码
3
3
1 2 3
0 4 5
0 0 6
2
1 0
-8 2
3
1 2 3
1 4 5
0 -1 6

输出样例:

复制代码
YES
NO
NO

代码:

cpp 复制代码
#include<stdio.h>

int main()
{
	int n;
	scanf("%d", &n);
	int a[10][10];
	for (int i = 0; i < n; i++)//一个总的循环
	{
		int N;
		scanf("%d", &N);
		int flag = 0;//每次要重置flag的值
		for (int j = 0; j < N; j++)
		{
			for (int k = 0; k < N; k++)
			{
				scanf("%d", &a[j][k]);
			}
		}//输入一个二维数组
		for (int j = 0; j < N; j++)
		{
			for (int k = 0; k < N; k++)
			{
				if (j > k && a[j][k] != 0)
				{
					flag = 1;
					break;//立马跳出循环
				}
			}
			if (flag == 1)
				break;//再跳出外面的循环
		}
		if (flag == 1)
			printf("NO\n");
		else
			printf("YES\n");
	}
	return 0;
}

注意:

1.break的用法

相关推荐
NEFU_Jyj1 小时前
贝尔数(组合数学)
算法
希和20271 小时前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
Pniubi2 小时前
力扣73 矩阵置零
算法·leetcode·矩阵
布莱克60512 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
D e re k ZH15 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
石小石Orz16 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
Zwawa17 小时前
屏幕不止一种:OLED、LCD1602字符屏、TFT/IPS图形屏和串口屏怎么用,这与TTY和PTY又有什么关系
c语言·单片机·嵌入式
Fruiticecake17 小时前
C 程序员速通现代 C++(一):lambda、std::function、移动语义与智能指针
c语言·c++
田甲17 小时前
做一款 Type-C 母座读卡器:GL3224 双卡方案实测
c语言·开发语言