我是靠谱客的博主 可耐龙猫,最近开发中收集的这篇文章主要介绍牛客网——判断上三角矩阵前言一、上三角矩阵二、解题思路2、正确代码总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

   活动地址:CSDN21天学习挑战赛

目录

前言

一、上三角矩阵

描述

输入描述:

输出描述:

二、解题思路

1.错误代码(一开始看错,直接整了个矩阵给它)

2、正确代码

总结


前言

今天和大家一起学习一下如何判断上三角矩阵。

 


一、上三角矩阵

题目来源:

KiKi判断上三角矩阵_牛客题霸_牛客网

描述

KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。

输入描述:

第一行包含一个整数n,表示一个方阵包含n行n列,用空格分隔。 (2≤n≤10)

从2到n+1行,每行输入n个整数(范围-231~231-1),用空格分隔,共输入n*n个数。

输出描述:

一行,如果输入方阵是上三角矩阵输出"YES"并换行,否则输出"NO"并换行。

二、解题思路

1.错误代码(一开始看错,直接整了个矩阵给它)

代码如下(示例):

#include<stdio.h>
int main(){
    int n;
    int arr[10][10]={0};        //初始化
    scanf("%d",&n);
    int j=0,i=0,a=0,w;
    while(j<=n){                //设置循环条件
    for(i=j;i<n;i++){           //输入数组
            arr[j][i]=++a;
    }
        j++;                    //斜向下移动一位
    }
    for(int k=0;k<n;k++){        //输出,有输入的就输出数字,没有输入的数组在前面已经初始化为0
        for(int l=0;l<n;l++){
            printf("% d",arr[k][l]);
        }
        printf("n");
    }
    return 0;
}

不过我个人认为里面也有一些方法值得大家学习学习。

2、正确代码

int main()
{
	int arr[10][10] = { 0 };
	int i = 0;
	int j = 0;
	int n = 0;
	scanf("%d", &n);
	int sum = 0;
	for (i = 0;i < n;i++)
	{
		for (j = 0;j < n;j++)
		{
			scanf("%d", &arr[i][j]);        //输入

			while (i > j)                //下三角部分
			{
				sum += arr[i][j];        //如果是上三角矩阵,下三角理应都为0
				break;
			}
		}
	}
	if (sum==0)                        //判断
	{
		printf("YESn");
	}
	else
	{
		printf("NOn");
	}
	return 0;
}

要注意判断循环的条件(i>j),这些循环的条件的判断对于我们去解循环数组,比如回型、蛇形(这几天会更)是很关键的,希望大家能仔细琢磨一下~


总结

以上就是今天要讲的内容,本文仅仅简单介绍了如何判断上三角矩阵,希望对大家有少少帮助~

最后

以上就是可耐龙猫为你收集整理的牛客网——判断上三角矩阵前言一、上三角矩阵二、解题思路2、正确代码总结的全部内容,希望文章能够帮你解决牛客网——判断上三角矩阵前言一、上三角矩阵二、解题思路2、正确代码总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部