0.展示PTA总分
一:一维数组
二:二维数组
三:字符数组
1.本章学习总结
1.1 学习内容总结
-
遍历法:将数组内存储的变量依次查询观察是否有某个数据。
二分法:对于按照某种特定规则排序的数据,按照对半查找的方式确定某个数据是否在所查询的数组内。
> 定义某个数组array[N],用以存储某个数列。
> 定义并输入某个待插入数据X。
> for int i=0 to i < N do i++
> if(满足某个条件)
> break//找到待插入位置,退出循环。
> end for
> for int j=N to i do j--
> array[j]=array[j-1]//将从待插入位置开始往后的数据全部后移一个单位。
> end for
> array[i]=x//将待插入数据X插入待插入位置。
-
遍历某个数组,当遇到待删除元素的时候将待删除位置后面的数据全部前移一位,结束本轮循环,开始下一轮循环查找下一个待删除数据。
遍历数组, 将某个已知的待删除位置以后的数据全部前移一位。 -
冒泡法:从第一个元素开始,将每两个元素对比,满足某个条件时将前后两个元素位置互换,一直循环直到数组已经按照规定的顺序排放。
遍历数组找到最大或最小的数,将该数据与第一个或者最后一个数据位置互换。 -
案例: 输出月份英文名
-
不了解哈希数组。
1.2 本章学习体会
- 使用数组来存储数据极大的便利了数据的修改及查找。
周数 | 代码量 |
---|---|
11+12 | 1200(左右) |
2.PTA实验作业
2.1实验7-4 求矩阵中的最大小值
2.1.1伪代码
int i, j, n, k, row, line, a[][], miniIndex1, miniIndex2, maxIndex1, maxIndex2
while (scanf("%d%d", &line, &row) == 2)
初始化minIndex1, minIndex2, maxIndex1, maxIndex2四个数据
for i=0 to line do i++
for j=0 to row do j++
输入a[i][i]
end for
end for
for i=0 to line do i++
for j=0 to row do j++
if(a[minIndex1][minIndex2] > a[i][j])
将i的值赋给minIndex1
将j的值赋给minIndex2
end if
if(a[maxIndex1][maxIndex2] < a[i][j])
将i的值赋给maxIndex1
将j的值赋给maxIndex2
end if
end for
end for
输出最大最小值及其所在行列
end while
2.1.2代码截图
2.1.3造测试数据
输入数据:
输出数据:
说明:答案正确
2.1.3PTTA提交列表及说明
前两次均未看到老师在群里的提醒。