判断上三角矩阵

第5题

【描述】

输入一个正整数n(2≤n≤10)和n×n矩阵a中的元素,如果a是上三角矩阵,输出“Yes”,否则输出“No”。

【输入】

第一行为正整数n,表示矩阵大小。

接着n行,每一行n个整数,整数以空格间隔。

【输出】

输出“Yes”或“No”。

【输入示例】

3

3 4 5

1 2 3

1 3 4

【输出示例】

No

【提示】

用二维数组表示n×n矩阵时(i表示行下标,j表示列下标),则:

主对角线i==j,副对角线i + j == n – 1

上三角矩阵i<=j

下三角矩阵i>=j

【来源】

《程序设计基础——以C为例》第6章上机实验题5。

#include<stdio.h>

	int main(){
		int n,i,j,sign=1;
		int a[10][10];
		scanf("%d",&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<n;j++){
			if(i>j&&a[i][j]!=0)
				sign=0;
		}
		}
		if(sign)
			printf("Yes");
		else
			printf("No");	

	}
时间: 2024-10-13 01:00:47

判断上三角矩阵的相关文章

7-1 判断上三角矩阵

7-1 判断上三角矩阵 (15 分) 上三角矩阵指主对角线以下的元素都为0的矩阵:主对角线为从矩阵的左上角至右下角的连线. 本题要求编写程序,判断一个给定的方阵是否上三角矩阵. 输入格式: 输入第一行给出一个正整数T,为待测矩阵的个数.接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n.随后n行,每行给出n个整数,其间以空格分隔. 输出格式: 每个矩阵的判断结果占一行.如果输入的矩阵是上三角矩阵,输出"YES",否则输出"NO". 输入样例:

7-1 判断上三角矩阵 (15 分)

7-1 判断上三角矩阵 (15 分)上三角矩阵指主对角线以下的元素都为0的矩阵:主对角线为从矩阵的左上角至右下角的连线. 本题要求编写程序,判断一个给定的方阵是否上三角矩阵. 输入格式:输入第一行给出一个正整数T,为待测矩阵的个数.接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n.随后n行,每行给出n个整数,其间以空格分隔. 输出格式:每个矩阵的判断结果占一行.如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”. 输入样例:231 2 30 4 50 0 62

习题7-3 判断上三角矩阵

1 #include<stdio.h> 2 3 int main(void) 4 { 5 int t; 6 scanf_s("%d", &t); 7 8 for (int i = 0; i < t; i++) 9 { 10 int n; 11 int a[10][10]; 12 13 scanf_s("%d", &n); 14 for (int j = 0; j < n; j++) 15 { 16 for (int k = 0

判断上三角行列式

题目:7-2[基础编程题_随堂练习3][习题7-三-3][必须用二维数组] 判断上三角矩阵 (15分) 上三角矩阵指主对角线以下的元素都为0的矩阵:主对角线为从矩阵的左上角至右下角的连线. 本题要求编写程序,判断一个给定的方阵是否上三角矩阵. 输入格式: 输入第一行给出一个正整数T,为待测矩阵的个数.接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n.随后n行,每行给出n个整数,其间以空格分隔. 输出格式: 每个矩阵的判断结果占一行.如果输入的矩阵是上三角矩阵,输出"YE

HDU 1704 Rank【传递闭包】

解题思路:给出n个选手,m场比赛,问不能判断胜负的询问最多有多少种 用传递闭包即可 但是如果直接用3重循环会超时 在判断d[i][j]=d[i][k]||d[k][j]是否连通的时候 可以加一个if语句判断一下d[i][k]是否为1,为1再进行第三重循环,不为1则不进行第三次循环 反思:例如询问 3和1,1和3是相同的情况,所以最后判断的时候,只需要判断上三角矩阵即可. Rank Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32

C语言博客作业--一二维数组

一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 定义变量n,i,j,max等于0,a[]10用于存放输入的值,b[10]用于存放a[]中各个数有多少个; 输入n的值 i从0开始,每次加1,输入a[i]的值,直到i==n结束循环 i从0开始,判断i是否<n,,进入下一步,每次加一,直到条件不满足 j从0开始,判断j是否<n,,进入下一步,每次加一,直到条件不满足 如果a[i]==a[j],b[i]加一 i从0开始,判断i是否 输出a[j

C语言博客作业—一二维数组

一.PTA实验作业 题目1:7-2 求整数序列中出现次数最多的数 1. 本题PTA提交列表 2. 设计思路 Begin 输入整数个数N 定义数组a[N] 输入数组a for(i 0 to N-1){//进行N次判断 for(j 0 to N-1) if(a[i]和a[j]相等) count加一 i等于0//第一次判断 使max=count; n=i;//n放下标,max放次数 i不等于0且count大于max 使max=count; n=i;//重新赋值 count为0//每次循环count为0

函数-循环-数组

一.PTA实验作业 题目一.7-42 函数编程-分段函数:编写函数,计算下面分段函数的值. 1.本题PTA提交列表 2.设计思路 主函数中定义并输入x,调用子函数sum(x),子函数sum(x)针对x的不同取值有不同的y值.最后计算并输出y. 3.本题调试过程碰到问题及PTA提交列表情况说明. (1).编译错误:对函数的运用不够熟悉,exp函数写成epx函数,导致编译错误. (2).答案错误:还是答案格式出错,题目的格式是输出y=答案,而我直接输出答案. 4.代码截图. 题目二.7-1 求组合数

三、PTA数组实验报告

三.PTA实验作业(数组) 题目一:   1.本题PTA提交列表: 2 2.设计思路(包括流程图),主要描述题目算法 //设计思路,由题目可知 1.先定义一个数组用for()循环用于输入数据 2.再用一个for()循环,用于置换数组中个值得位置(用第一个和最后一个的位置交换,第二个和倒数最后一个交换...) 3.最后再用一个for循环输出就可以 最终代码如下: 流程图如下: 3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中