1.本章学习总结
1.1思维导图
1.2本章学习体会及代码量学习体会
1.2.1学习体会
学习了数组,对于数据的储存更加的方便。更重要的是几种数组中对于数据的查找方法、排序方法。如:冒泡排序法、选择排序法、二分查找法、对于处理生活中的问题有了更多的方法。其次,在时间有限的时候,嵌套循环会大大拖慢时间,此时再定义一个新的数字,其思想是用空间换时间,不得不说,这也是一种编程思想的启蒙。
1.2.2代码累计
2.PTA总分
2.1PTA题集及得分排名
2.2我的总分
一维数组+二维数组+字符数组:455
3.PTA实验作业
3.1PTA题目1
题目简介:
*:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。 *
3.1.1算法分析
for 循环将数据存入数组a[i]
for i=1 to n
for j=0 to n-I
满足a[j]>a[j+1]
交换a[j]和a[j+1]
for循环输出数组
3.1.2代码
3.1.3测试数据
3.1.4PTA提交列表及说明
- Q1:调试中遇到了段错
- A1:嵌套循环的内循环 j<n-i,防止数组越界
- Q2:第一位没有替换
- A2:定义一个t来储存前一位的数
3.2 PTA题目2
题目简介:
*本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。 *
3.2.1 算法分析
int a[n+1]存放数据
if(n=0||n=1)对于特殊情况定义
if(x<0)对于负数直接放在第一位
for i=0 to n
遍历比较大小再交换
for j=n to i+1 j--
for i=0 to i i++
输出数组
3.2.2 代码
3.2.3 测试数据
3.2.4 PTA提交列表及说明
- Q1: 没有对n=1和0的时候定义
- A1:增加if语句判断
- Q2:重构数组时,对于临界的判断不到位
- A2:循环条件修改
3.3 PTA题目3
题目简介
*上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 *
3.3.1 算法分析
for k=1 to t 大循环来执行总次数
for i=0 to n 输入数据
for 判断是否为0
a[i][j]!=0 判断
3.3.2 代码
3.3.3 测试数据
3.3.4 PTA提交列表及说明
- Q1: 大循环无法执行
- A1:不知后来如何调试,一下子就行了
4.代码互评
4.1代码截图
-
同学代码
-
自己的代码
4.2二者不同
- 1.我主要是定义第三个数组来找出现过的字符,再进行循环判断输出
- 2.而他主要是用if语句不断判断来解决字符的判断