C语言: 1980 上三角矩阵判断 (二维数组)
描述:
输入一个正整数m(1≤m≤6)和m阶方阵A中的元素,如果A是上三角矩阵,则输出“YES”,否则输出“NO”(上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线)。
输入:
3
1 2 3
0 1 2
0 0 1
输出:
YES
输入样例 1 | 输出样例 1 |
4 1 2 3 4 0 1 1 3 0 0 1 2 1 0 0 1 |
NO |
解题关键:
- 怎样判断对角线下的数是否为零。
解法:
#include<stdio.h>
int main()
{
int m,i,j,n;
int count=1;
scanf("%d",&m);
int a[m][m];
for(i=0;i<m;i++){
for(j=0;j<m;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<m;i++){
for(j=0;j<m;j++){
if(i>j){
if(a[i][j]!=0)
{
count=0;
break;
}
}
}
}
if(count==0)
printf("NO");
else if(count==1)
printf("YES");
return 0;
}
总结:
这里判断是否为零,巧妙地观察了行,列,与零的关系;发现在列小于行时,如果有一个数不为零,上三角矩阵就不成立。【在做题时要多观察该题的特点,笔者在这里,曾试图通过循环计数的方法,将零的数统计出来和他本应该有的数值进行比较,但我忽视了零存在的位置也是有讲究的,所以我的那种方法和思路就不行。】
这里还有一个小技巧,如果只是判断是否成立,可以设一个变量赋初值为1即成立,如果他不满足或者满足某些条件,就赋值使他为0即假,最后判断该变量的值,决定输出什么。
C语言: 1980 上三角矩阵判断 (二维数组)相关推荐
- 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)
原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解) 这里分享三道编程题, 下面是我个人的视频讲解 二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ ...
- C语言学习之将一个二维数组的行和列互换,存到另一个二维数组中
C语言学习之将一个二维数组的行和列互换,存到另一个二维数组中 #include <stdio.h> int main(){int a[2][3]={{1,2,3},{4,5,6}}; // ...
- c语言中二维数组怎么,c语言中什么是二维数组
c语言中什么是二维数组 二维数组A[m][n],这是一个m行,n列的二维数组.以下是由应届毕业生小编整理关于c语言二维数组的内容,希望对大家有所帮助!更多相关内容请关注应届毕业生考试 网. c语言的二 ...
- C语言错误c2063,请教C语言中关于将二维数组复制到一个三维数组的问题
请教C语言中关于将二维数组复制到一个三维数组的问题 小白正在填写一段代码,是有点类似与俄罗斯方块的一段游戏代码,代码如下 要求在增加参数,变量和函数的情况下完成此代码,只能填写// write app ...
- php查找判断二维数组中是否含有某个值
php判断二维数组中是否含有某个值 $arr = array(array('a', 'b'),array('c', 'd') );in_array('a', $arr); // 此时返回的永远都是 f ...
- c语言函数输出数组,如何让C语言函数返回一个二维数组
为了让C语言函数返回一个二维数组,有些人这样定义函数: int **foo(int rows, int columns) 然后在函数中费劲心机拼出来一个这样的malloc语句: int (*resul ...
- java判断二维数组是否空_判断二维数组是否为空
在Java程序设计里面,相信大部分人都知道如何判断一个一维数组是否为空,示例如下: public int primeNumberCount(int[] array){ if(array==null|| ...
- c语言暴力求解法二维数组比较,【算法】搜索二维矩阵 暴力解法二分法 4种语言...
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1:输入:matrix = ...
- php如何判断二维数组为空,PHP判断数组为空的具体方式
在学习PHP语言的时候,初学者往往会对数组感到一些棘手.不过在通过深入的学习之后,我们会发现,这些其实并没有想象中的困难.我们今天就要向大家介绍PHP判断数组为空的具体方式,希望能让新手们了解一些新知 ...
- java语言:创建一个二维数组,将古诗《春晓》的内容赋值于二维数组,然后分别用横版和竖版两种方式输出。
问题:创建一个二维数组,将古诗<春晓>的内容赋值于二维数组,然后分别用横版和竖版两种方式输出. 前两天上java课的时候老师,给我们出了这道题.要求:要用java语言来写. 根据要求创建的 ...
最新文章
- 在okhttp3,WebView中忽略HTTPS证书校验
- (转载)TL-WN725N V3无线网卡驱动移植与wireless工具wpa_supplicant-2.6
- 分享一个模板解析的方法
- php编译优化,浅析使用Turck-mmcache编译来加速、优化PHP代码
- Python(1):写在前面
- Java 9中的进程处理
- FreeSql (十九)多表查询
- python实现rpc框架_使用Python实现RPC框架
- VUE项目中使用this.$forceUpdate()强制页面重新渲染
- Handler: Service中使用Toast
- 高效配置Linux代理服务器――Squid
- java 解析dataset_C# DataSet用法的详细解析|C#教程
- 华为P9移动定制版刷为联通移动双4G版本
- 【精】LintCode领扣算法问题答案:437. 书籍复印
- 冯·米塞斯迭代法(Von Mises iteration)
- UGUI长按按钮的实现(技能蓄力使用)
- 群晖docker容器内配置ubuntu远程桌面访问
- 一分钟搞懂app热更新
- switch()函数 ----by xhxh
- Netty 学习笔记(已完结)