0.展示PTA总分
1.本章学习总结
1.1 学习内容总结
1.首先,定义数组,并对数组元素进行赋值,输入位置值,输出相应的元素值
先判断位置是否合法,不合法,则输出错误,请重新输入
位置合法,则把位置值转为数组下标,通过下标来确定数据,进行输出,如:第一个元素的下标为0,第二个为1等等
输入一个数值,输出相应的下标(即:查找指定元素的位置)
循环遍历数组,检查数组中的各位数据是否与待查数值相等
如果相等,则提前结束循环:break;
否则,继续循环,检查下一个数
遍历完所有数组元素后,结束循环
循环结束后,检查循环变量值是否超过数组元素总数,
如果未超过,表示找到了相应数据,输出其下标位置,
否则,输出未找到相应元素。
2.#include<stdio.h>
define N 10
void main( )
{
int a[N] , num ,i , *p , n=N;
int j;
/输入N个数到数组a中;/
for(i=0;i<n;i++)
{
scanf(“%d”,&num);
a[i]=num;
}
/在数组a中删除指定的数num;/
for(i=0;i<n;i++)
{
if(a[i] == num)
{
//a[i]=a[n];//如果不保留原数组里的顺序,此一句即可代替下边2行语句,同时省掉变量j
for(j=i;j<n-1;j++)
a[j]=a[j+1];
n--;
1.2 本章学习体会
- 本章虽然pta打的很慢但每一道题都是自己思考,自己琢磨打出来的,但速度和其他同学还是相差太多,接下来会继续努力。
- 本章数组确实相比前面的课程难度加大,可能是前面的课程不够熟悉导致数组学习的很困难,不过还是会继续加油。
- 两周周代码量大概400行。
2.PTA实验作业
2.1 7-3 简化的插入排序
2.1.1 伪代码
此题使用了int定义一些变量,用了a【】数组来输入数据,利用了循环来输出数据以及补充数据
2.1.2 代码截图
2.1.3 造测试数据
2.1.4 PTA提交列表及说明
一开始不知道如何处理插入后,后面的数据如何排列,因为数组定义的太小,导致数据不够,答案一直错误,后面发现后,先定x再处理后面数据
2.2 有重复的数据I
2.2.1 伪代码
此题使用了int定义一些变量,用了a【】数组来输入数据,利用了循环来输出数据以及补充数据,此题较特别,利用了数组来处理重复数据
2.2.2 代码截图
2.2.3 造测试数据
2.2.4 PTA提交列表及说明
此题确实想了很久,后来是看超星才学会的,老师的方法确实比自己的优秀很多。
3.阅读代码
此代码对数组的应用十分优秀,双数组的转换还有a,b数组数据的重复利用,方便了代码的处理,也让阅读者对数组的理解又加深了许多