第三周作业

Posted on 2019-03-16 11:55  hualikun  阅读(108)  评论(0)    收藏  举报

题目一:第三周pta作业总结

1.判断上三角

上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。

本题要求编写程序,判断一个给定的方阵是否上三角矩阵。

输入格式:

输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。

输出格式:

每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。

输入样例:

2
3
1 2 3
0 4 5
0 0 6
2
1 0
-8 2

输出样例:

YES
NO
 我的代码
#include <stdio.h>

int main()
{
	int T, Order;
	int date[10][10];

	scanf("%d", &T);
	for (int i = 0, flag = 0; i < T; i++)				
	{
		flag = 0;								
		scanf("%d", &Order);
		for (int i = 0; i < Order; i++)				
			for (int j = 0; j < Order; j++)		
				scanf("%d", &date[i][j]);

		for (int i = 1; i < Order; i++)
		{
			for (int j = 0; j < i; j++)
			{
				if (date[i][j] == 0)
					flag = 0;
				else
				{
					flag = 1;
					break;
				}
			}
			if(flag)
				break;
		}

		if (flag) printf("NO\n");
		else printf("YES\n");
	}
	return 0;
}

(上三角实在不会,仿照着助教的解析敲得代码,思路知道了一些)

2.编译结果

3.编译的思路

 

(不知道是文件出了问题还是电脑,不能完整导入图片,将就着用,见谅)

 

 编译过程中遇到的问题

 1.平常低级输入问题啊,符号错误等等
 2.判顶上三角条件应该为不等于0,我之前用的时等于0
 3.最后一个if判断语句位置错误,没放在第一个for循环后面
 
3.学习进度
怎么说呢,学了点指针,但还是一知半解,前面基础还在补,数组的简单题目也会做了,希望更好
(代码是参考的助教的,编译思路也是解析视频教的,愿老师谅解)