描述:

输入一个正整数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

解题关键:

  1. 怎样判断对角线下的数是否为零。

解法:

#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.      这里判断是否为零,巧妙地观察了行,列,与零的关系;发现在列小于行时,如果有一个数不为零,上三角矩阵就不成立。【在做题时要多观察该题的特点,笔者在这里,曾试图通过循环计数的方法,将零的数统计出来和他本应该有的数值进行比较,但我忽视了零存在的位置也是有讲究的,所以我的那种方法和思路就不行。】

  2. 这里还有一个小技巧,如果只是判断是否成立,可以设一个变量赋初值为1即成立,如果他不满足或者满足某些条件,就赋值使他为0即假,最后判断该变量的值,决定输出什么。

C语言: 1980 上三角矩阵判断 (二维数组)相关推荐

  1. 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)

    原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解) 这里分享三道编程题, 下面是我个人的视频讲解 二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ ...

  2. C语言学习之将一个二维数组的行和列互换,存到另一个二维数组中

    C语言学习之将一个二维数组的行和列互换,存到另一个二维数组中 #include <stdio.h> int main(){int a[2][3]={{1,2,3},{4,5,6}}; // ...

  3. c语言中二维数组怎么,c语言中什么是二维数组

    c语言中什么是二维数组 二维数组A[m][n],这是一个m行,n列的二维数组.以下是由应届毕业生小编整理关于c语言二维数组的内容,希望对大家有所帮助!更多相关内容请关注应届毕业生考试 网. c语言的二 ...

  4. C语言错误c2063,请教C语言中关于将二维数组复制到一个三维数组的问题

    请教C语言中关于将二维数组复制到一个三维数组的问题 小白正在填写一段代码,是有点类似与俄罗斯方块的一段游戏代码,代码如下 要求在增加参数,变量和函数的情况下完成此代码,只能填写// write app ...

  5. php查找判断二维数组中是否含有某个值

    php判断二维数组中是否含有某个值 $arr = array(array('a', 'b'),array('c', 'd') );in_array('a', $arr); // 此时返回的永远都是 f ...

  6. c语言函数输出数组,如何让C语言函数返回一个二维数组

    为了让C语言函数返回一个二维数组,有些人这样定义函数: int **foo(int rows, int columns) 然后在函数中费劲心机拼出来一个这样的malloc语句: int (*resul ...

  7. java判断二维数组是否空_判断二维数组是否为空

    在Java程序设计里面,相信大部分人都知道如何判断一个一维数组是否为空,示例如下: public int primeNumberCount(int[] array){ if(array==null|| ...

  8. c语言暴力求解法二维数组比较,【算法】搜索二维矩阵 暴力解法二分法 4种语言...

    编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1:输入:matrix = ...

  9. php如何判断二维数组为空,PHP判断数组为空的具体方式

    在学习PHP语言的时候,初学者往往会对数组感到一些棘手.不过在通过深入的学习之后,我们会发现,这些其实并没有想象中的困难.我们今天就要向大家介绍PHP判断数组为空的具体方式,希望能让新手们了解一些新知 ...

  10. java语言:创建一个二维数组,将古诗《春晓》的内容赋值于二维数组,然后分别用横版和竖版两种方式输出。

    问题:创建一个二维数组,将古诗<春晓>的内容赋值于二维数组,然后分别用横版和竖版两种方式输出. 前两天上java课的时候老师,给我们出了这道题.要求:要用java语言来写. 根据要求创建的 ...

最新文章

  1. 在okhttp3,WebView中忽略HTTPS证书校验
  2. (转载)TL-WN725N V3无线网卡驱动移植与wireless工具wpa_supplicant-2.6
  3. 分享一个模板解析的方法
  4. php编译优化,浅析使用Turck-mmcache编译来加速、优化PHP代码
  5. Python(1):写在前面
  6. Java 9中的进程处理
  7. FreeSql (十九)多表查询
  8. python实现rpc框架_使用Python实现RPC框架
  9. VUE项目中使用this.$forceUpdate()强制页面重新渲染
  10. Handler: Service中使用Toast
  11. 高效配置Linux代理服务器――Squid
  12. java 解析dataset_C# DataSet用法的详细解析|C#教程
  13. 华为P9移动定制版刷为联通移动双4G版本
  14. 【精】LintCode领扣算法问题答案:437. 书籍复印
  15. 冯·米塞斯迭代法(Von Mises iteration)
  16. UGUI长按按钮的实现(技能蓄力使用)
  17. 群晖docker容器内配置ubuntu远程桌面访问
  18. 一分钟搞懂app热更新
  19. switch()函数 ----by xhxh
  20. Netty 学习笔记(已完结)

热门文章

  1. Java Swing入门基础
  2. 求一份 电力猫 QCA6410 原理图等
  3. Sers微服务2.1.1
  4. 【C语言】文学研究助手
  5. java非主流火星文输入法_火星文转换器,火星文转换器在线转换
  6. 去除IOS升级提示小红点
  7. PowerDesigner 批量添加字段
  8. 实战小米官网静态页面1:导航栏部分
  9. WIFI热点——bat文件创建笔记本快捷wifi技术
  10. 计算机仿真终审超期,机械类审稿时间短的北大核心期刊有哪些