1. 本章学习总结
1.1 思维导图
1.2 本章学习体会及代码量学习体会
1.2.1 学习体会
这几周学习了数组,一维数组,二维数组,字符数组,前一个题集还没做完,后一个题集就又发布了,当场去世,可能因为题目难度也在增加,然后有些懒,题目一直放着没有好好去做,都是等老师讲完有了思路,再根据老师的思路把代码打一遍。这一点自我检讨一下。学习了数组,并且学了几种排序方法,之前的一些题目也可以改用数组的方法来做。感觉数组有些题目有思路做起来,也有点懵懵的,不能一遍过,都需要调试一下才知道自己的问题出在哪。数组这块的内容还是很重要的,所以我应该要把知识盲区都弄懂,并且累计一些做题思路。而且题集也不能一拖再拖了,遇到难题也不应该是躲避了,希望在接下去的时间里,我可以把它们全解决掉。
1.2.2 代码累计
2. PTA总分
2.1 截图PTA中数组题目集的排名得分
2.2 我的总分:
3. PTA实验作业
3.1 PTA题目1
数组循环左移
本题要求实现一个对数组进行循环左移的简单函数:
一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置
3.1.1 算法分析
定义i,j,n,m,temp
输入n,m
输入n个数存入数组a
for i=0 to m do
temp=a[0]
for j=0 to n-1 do
a[j]=a[j+1]
a[n-1]=temp
end for
end for
按照要求格式输出
3.1.2 代码截图
#include<stdio.h>
int main()
{
int n,m,i,j,temp;
scanf("%d%d",&n,&m);
int a[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<m;i++)//左移次数
{
temp=a[0];//先用temp储存a[0]
for(j=0;j<n-1;j++)
a[j]=a[j+1];//各数往前移
a[n-1]=temp;//将a[0]放到最后一位
}
for(i=0;i<n;i++)
{
if(i<n-1)
printf("%d ",a[i]);
else
printf("%d",a[i]);
}
return 0;
}
3.1.3 测试数据
3.1.4 PTA提交列表及说明
Q1:刚开始做,挺有思路的但是感觉代码质量很差,而且有一两个点一直过不了
A1:后来老师在课上讲了这题,瞬间有种顿悟的感觉,好方法就要累积下来
3.2 PTA题目2
3.2.1 算法分析
3.2.2 代码
3.2.3 测试数据
3.2.4 PTA提交列表及说明
Q1:
A1:
A2:
3.3 PTA题目3
3.3.1 算法分析
3.3.2 代码
3.3.3 测试数据
3.3.4 PTA提交列表及说明
Q1:
A1:
A2:
4. 代码互评
4.1 代码截图
同学代码
我的代码
4.2 两者的不同
1.整体思路不同:
2.关系式不同:
3.