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语句不断判断来解决字符的判断