1.思路
(1)输入一个数T,然后输入T个矩阵,(矩阵要放到二维数组中,因为我们从题目中只能得到这个二维数组的大小,但T大小未知,我们无法去定义T个二维数组,因此我们想到可以在T循环中定义一个二维数组并且将要输入的方阵放在这个数组中)输入这样一个方阵即对它做出判断,是否为上三角形矩阵。
(2)判断上三角形矩阵,只需要满足下三角中的元素均为0
备注:判断和输入并列处于同一个关于T的外循环中
因为我们是在外循环中定义的a[][];即a[][]仅在这个循环中有意义。
2.错误代码

#include <stdio.h>
int main()
{int t,n,i,j,x;scanf("%d",&t);for(x=0;x<t;x++){int f=0;scanf("%d",&n);int a[1600][1600];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<i;j++){if(a[i][j]!=0){printf("NO\n");f=1;break;}}}if(f==0) printf("YES\n");}return 0;
}

3.错误分析
(1)数组开的过大,致使出现段错误;
(2)输出错误:
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
{
if(a[i][j]!=0)
{
printf(“NO\n”);
f=1;
break;
}
}
}
将printf(NO))放在了循环中,会导致一个矩阵输出过多判断结果,应该放到循环外与printf(YES)并列,
4.正确代码

#include <stdio.h>
int main()
{int t,n,i,j,x;scanf("%d",&t);for(x=0;x<t;x++){int f=0;scanf("%d",&n);int a[16][16];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<i;j++){if(a[i][j]!=0){f=1;break;}}}if(f==1) printf("NO\n");if(f==0) printf("YES\n");}return 0;
}

5.总结
PTA中出现段错误的原因:
(1)scanf里地址列表忘记&(说明,如果使用%s,字符数组名前面不用&)
(2)数组开的太小,太大可能也不行
(3)访问数组元素的时候,下标越界了

PTA.7-44 判断上三角矩阵 (15分)相关推荐

  1. C++学习之路 | PTA乙级—— 1061 判断题 (15 分)(精简)

    1061 判断题 (15 分) 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分. 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人 ...

  2. 判断上三角矩阵 (15 分)

    上三角矩阵指主对角线以下的元素都为0的矩阵:主对角线为从矩阵的左上角至右下角的连线. 本题要求编写程序,判断一个给定的方阵是否上三角矩阵. 输入格式: 输入第一行给出一个正整数T,为待测矩阵的个数.接 ...

  3. 第4章-21 判断上三角矩阵 (15 分)

    致读者:本人是一名通信专业学生,仅学了4天Python ,难免有些地方写的很笨拙. 写博客一方面是为了记录自己的学习过程中遇到的问题和思考,一方面是希望能够帮助到很多和自己一样处于困惑的读者. 水平有 ...

  4. PAT 乙级 1061 判断题 (15分)

    1061 判断题 (15分) 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分. 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数 ...

  5. L1-5判断题(15分)

    L1-5 判断题 (15 分) 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分. 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人 ...

  6. 7-6 判断题 (15分)

    7-6 判断题 (15分) 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分. 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和 ...

  7. C++学习之路 | PTA乙级—— 1076 Wifi密码 (15 分)(精简)

    1076 Wifi密码 (15 分) 下面是微博上流传的一张照片:"各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1:B ...

  8. C++学习之路 | PTA乙级—— 1066 图像过滤 (15 分)(精简)

    1066 图像过滤 (15 分) 图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式 ...

  9. C++学习之路 | PTA乙级—— 1046 划拳 (15 分)(精简)

    1046 划拳 (15 分) 划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输 ...

最新文章

  1. 12-----指令系统介绍
  2. 没学过python、但是还是有公司要-学习python 基础都会了 为什么还是做不出项目呢?...
  3. linux下文件夹压缩解压.tar , .gz , .tar.gz , .bz2 , .tar.bz2 , .bz , .tar.bz , .zip , .rar
  4. 计算机上开发和运行应用程序与操作系统无关,计算机期中测验理论部分和答案-C.doc...
  5. Windows平台安装dlib方法汇总
  6. spring官网下载
  7. accp8.0转换教材第6章连接MySQL理解与练习
  8. ipynb pycharm 运行_Mask RCNN代码之demo.ipynb运行与理解
  9. 裁员潮下,工程师该何去何从?
  10. ITU-R BT.709
  11. 百度地图WEB服务-全景静态图使用心得
  12. C语言:判断一个数是不是素数(质数)
  13. 【FusionCompute】基于FreeNAS部署并使用虚拟存储(五)
  14. 移动应用支付宝开发创建应用_2020年可与十大移动应用开发公司合作
  15. 转录组分析_转录组分析的正确姿势
  16. 如何使用cleanmymac文件粉碎机
  17. 一分钟弄懂什么是分布式和微服务
  18. 综合概括-中国制造 2025
  19. 内存地址[bx+idata]、[bx+si/di]、[bx+si/di+idata]的灵活定位
  20. 【阅读笔记】Dynamical time series analytics

热门文章

  1. chrome扩展(插件)开发(五)监听网页的ajax请求
  2. ubuntu14.04加mac实现键鼠共享(Mouse and Keyboard Sharing)的方法及尝试
  3. java 保险管理系统_保险管理系统
  4. 扎心分享[土豪专用] 某宝卖1300元的最新微信朋友圈广告植入系统,无限制多用户版朋友圈文章内广告植入
  5. 78duh软件_Duh文件-该文件对于目标文件系统而言太大
  6. JS中的``反单引号
  7. python中fac函数是什么意思_好程序员Python教程系列-第8讲:函数和模块
  8. 吃一堑长一智!nodemysql同步查询
  9. vue springboot 会员收银系统 (1)
  10. 会计科目使用说明_A股财务数据的整理和使用