三、PTA实验作业(数组)
题目一:
1.本题PTA提交列表:
2
2.设计思路(包括流程图),主要描述题目算法
//设计思路,由题目可知
1.先定义一个数组用for()循环用于输入数据
2.再用一个for()循环,用于置换数组中个值得位置(用第一个和最后一个的位置交换,第二个和倒数最后一个交换。。。)
3.最后再用一个for循环输出就可以
最终代码如下:
流程图如下:
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
本题在调试过程中没有问题,但在做的过程中一开始对交换位置的循环条件有些纠,经过多次的计算后自己就可以解决了
题目二:
1.本题PTA提交列表:
2.设计思路(包括流程图),主要描述题目算法
//由题目,设计思路如下
1.本题可以用一个主函数和一个子函数来求解
2.主函数主要用于输入数据到数组中,并且把数组,n的值,num的值传递给子函数
3.子函数通过主函数传递过来的数据,用for循环和if语句一一判断a[i]==num;如果满足就输出i的值,并不满足就输出“not Found”
最终的代码如下:
流程图如下:
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
本题调试过程中没有没错误;刚开始学数组的时候,对于子函数数组做参数还不是很理解,但在经过与同学讨论后就能自行解决
题目三:
1.本题PTA提交列表:
2.设计思路(包括流程图),主要描述题目算法
//由题目,设计思路如下
1.本题主要先定义二维数组
2.输入n的值,和二维数组的各个值
3.用for()循环和if条件语句判断哪些值可累加,当i,jb并不等于n-1;和i+j!=n=1时
4.最后输出s的值就可以
最终代码如下:
流程图如下
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
这道题开始是不会如何用一步就可以判断出那些只可以累加,但后来认真思考一下还是轻松解决的;调试过程没有什么c错误
二、同学代码互评
题目:
7-17 判断上三角矩阵(15 分)
上三角矩阵指主对角线以下的元素都为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
1.我的代码:
2.同学:刑宇凡
同学的代码:
3.我和同学的代码有哪些不同?各自有哪些优势?你更喜欢那种代码的风格?
我和同学的思路基本相同,都是采用二维数组来来输入以及判断。但同学的判断条件以及全局变量更加详细,便于理解。
我写的代码虽然简单,但是不够详细,我更喜欢自己的写法,但以后会尽量把代码写得更加详细。
三、截图本周题目集的PTA最后排名
四、本周学习总结
1.本周你学会了什么?
本周学会的内容较多,比如一维数组和二维数组,多维数组,以及字符数组等;
主要是结合各维数组进行排序(冒泡法排序,选择排序等各种排序),以及各种数组的综合应用
2.本周的内容,还有那些内容不会?
主要不会的是数组与指针等结合使用时总是有点不理解,数组的各种排序方法虽然会了,但有时又不太理解其具体的原理;