数组
一.PTA实验作业
7-3 将数组中的数逆序存放
1.PTA提交列表:
2.设计思路:
定义i=0,n,temp,和数组a[10],将给定的n个整数存入数组a[ ]中,逆序存放,输入
要存放元素的个数,用for循环将逆序数交换排列成正序,(第一个和最后一个
交换,第二个和倒数第二个换…),最后再用for循环顺序输出数组中的元素,
并且用i<n-1作为if条件判断输出空格。
3.本题调试过程中碰到问题及PTA提交列表情况说明
问题说明及修改
问题:没有注意到题目中行末不得有多余空格的要求,导致与题目输出格式不符,行
末多了一个空格,格式错误。
修改:在第二个for里添加一个if条件,通过判断是否i<n-1保证行末无多余空格输出,
即如果i<n-1,就到了最后一个数字就不用输出空格,否则输出空格。
4.修改后的正确代码:
7-10 矩阵运算
1.PTA提交列表:
2.设计思路:
定义变量i=0,j=0,n,temp,sum=0,定义一个二维数组存放矩阵,将输入的数存入二维数组,
通过for循环,循环条件为i<n-1,j<n-1历遍矩阵除副对角线、最后一列和最后一行以外的
所有元素并求和,按矩阵形式输出二维数组,
3.本题调试过程中碰到问题及PTA提交列表情况说明
问题:sum没有初始为0,最后一行,最后一列的表示方法错了;
修改:sum初始为0,i表示行,j表示列,不计算最后一行和最后一列,即历遍数组除了
最后一行和最后一列,也即i<n-1,j<n-1,n表示为行数和列数。
4.修改后正确代码
7-2 求最大值及其下标
1.PTA提交列表:
2.设计思路:
先定义变量i,max=0,a[10],然后输入n,用循环输入数组元素,再用一个循环,
循环里面用if判断a[max]与a[i]大小,如果a[max]<a[i],就令max=i,最后输出。
3.本题调试过程碰到问题及PTA提交列表情况说明
问题及修改:一开始在第一个for括号后面加了个分号,纠结了好久,分号表示该句结束,
因此不能执行读入数组元素的指令,导致答案错误。
4.修改后正确代码
二、同学代码结对互评
1.互评同学
马晓萱
2.我的代码、互评同学代码截图
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
如果同学代码有错的也请帮忙指出来哪里出问题。
1.在行末没有多余空格这一表示方式上,我用了一个if条件来判断是否到行末了,
若是到行末了则不需要输出空格,而她采用的是在for循环里直接到n-1行截止,
然后再输出最后一行的元素,直接避免行末出现空格。
2.我觉得这两种方法都各有优势,看个人理解选择。我觉得她写的代码适当
的空格让人看起来很清晰,很舒服。
3.之前没有想到这种方法,还是觉得自己的方法比较好理解。
三、截图本周题目集的PTA最后排名
四、本周学习总结
学会了什么?
1.学会了一维数组和二维数组的定义和引用,数组把相同类型的数据组成一起,
可以简单快捷的操作大量数据,避免处理大量数据方面的问题,更有效,简便
地解决问题。2.按矩阵形式输出数组时,外循环是针对行下标的,对其中每一行,
首先输出该行上的所有元素,内循环则是针对列下标。
3.学会了一些矩阵术语的表示
主对角线: 从矩阵的左上角至右下角的连线 i==j
上三角: 主对角线以上的部分 i<=j
下三角: 主对角线以下的部分 i>=j
副对角线: 从矩阵的右上角至左下角的连线 i+j==N-1
还不会什么?
不知道错哪里了,一直纠结不出来!