1.本章学习总结
1.1 思维导图
1.2 本章学习体会及代码量学习体会
1.2.1 学习体会
本章节学习了数组这一大块,首先接触到的是数组的概念,数组是在内存当中开辟一块连续的地址用于存放数据,运用了数组不需要很复杂的一直循环输入一组数据,只需要把数据存放在数组中,需要的时候进行修改或者调用。其次就是数组的调用和存放了,数组的调用和存放都需要用到循环结构,循环输入,并且对其中的元素进行修改等。数组又分成三种类型,一维二维和字符数组,其中一维二维数组都是循环输入和输出,字符数组的不同之处在于他需要的输入类型是%s,而且不需要取地址符进行辅助,或者直接gets输入,输出也是相同,可以使用puts,字符数组中的字符串结束是以'\0'结束。对于数组我还不够明白的知识点是关于字符数组代码的阅读,很多时候对于一些运算符号还是不熟悉,容易犯错的地方在于很多时候数组名和长度容易混淆,导致后面的程序无法运行,主要解决的办法还是多练习题目,看书的上的知识点,把细节问题抓住。
1.2.2 代码累计
2.PTA总分
2.1截图PTA三次题目集:一维数组、二维数组和字符数组共3次题目集的排名得分
2.2 我的总分:270
3.PTA实验作业
7-10 出生年 (15 分)
3.1.1 算法分析
3.1.2 代码截图
3.1.3 PTA提交列表及说明
本题是在编译器上进行答题的
·Q1:一开始遇到的问题是数组的定义,刚开始的时候是把每个数字都放进数组中去,在进行循环判断出现的次数
·A1:运行的时候系统崩溃。。。就改了下思路,让每个数字都成为一个数组,在进行数组的自增
·Q2:第二次遇到的问题是循环的时候出现问题,判断没有放进循环中去,而且没有定义x这个变量,导致输出了多个数
·A3:直接定义x,当找出数字的时候输出,并且不在输出下面的数字
·Q3:第三次遇到的问题是memset函数,刚开始的时候没有用到这个函数,使数组内的数字很多都变成了随机数出现错误
·A3:问了同学之后知到可以用上memset函数解决,也可以在一开始的时候直接把数组定义为都是零
3.2 PTA题目2
7-5 螺旋方阵 (20 分)
3.2.1 算法分析
3.1.2 代码截图
3.3.3 PTA提交列表及说明
·Q1:代码是在编译器上进行修改和提交的,首先遇到的就是数组的赋值问题,想着要按找顺序输入,纠结于每一行每一列的规律
·A2:后面决定要按照题目说进行螺旋式循环,然后对每个元素自增
·Q2:螺旋循环刚开始的时候就直接四种条件循环,到了最后无法输出
·A2:检查之后发现没有条件限制它什么时候停止循环,导致一直循环下去
·Q3:最后一个问题是在解决了上述问题时候,发现格式错误
·A3:检查发现是可以在最后一行输出一个回车
3.3 PTA题目3
7-5 删除重复字符 (20 分)
3.1.1 算法分析
3.1.2 代码截图
3.1.3 PTA提交列表及说明
`
·Q1:本题的代码是在编译器上运行和修改的,首先遇到的问题是没有多定义一个开关变量,并且没有在判断重复的地方设置循环判断
·A1:多加了开关变量flag,可以判断是否把数插入到第二个数组中
·Q2:第二次出现的问题在循环的次数方面,没有定义新的变量存放次数,直接sizeof函数,导致错误
·A2:加上了len1和cnt变量来定义函数的长度
·Q3:在冒泡排序的地方出现问题,相同的,忽略字符数组与其他数组的区别
·A3:修改冒泡排序方法,正常输出数组
4.代码互评
4.1 代码截图
·自己的代码
·同学的代码
不同之处
·1:他的代码定义了静态变量,并且直接把出现的字符定义到另外一个数组里,令出现的单位都变成1,输出时只读1的单位
·2:我的代码则是把不重复的字符定义到另外一个字符数组里,并且用冒泡排序的办法来排序数组,在进行输出