一,PTA实验作业
题目1:7-2 通讯录排序
1.PTA提交列表
2.设计思路
定义一个包含姓名,生日,电话号码的结构体,再循环输入姓名生日和电话号码,用冒泡法找出年龄最小值并从大到小排序,最后循环输出。
3.本题调试过程碰到问题及PTA提交列表情况说明
错误一:char name[ ]时,定义的长度不够大,导致运行错误,加大字符串的内存即可。
错误二:struct friends 的x[10]定义的太小了,把内存改大就行。
题目2:7-8 查找单价最高和最低的书籍
1.PTA提交列表
2.设计思路
定义一个结构数组存放书籍的名称和价格,先让第一个数为最大或者最小,要注意在gets时,因为它可以读入回车符,所以要手动输入一个回车符,否则会出错。接着循环判断下面的每一个数和第一个数的大小,比较完后,输出最大和最小值。
3..本题调试过程碰到问题及PTA提交列表情况说明
错误一:输入name和price时,两个变量之间用\n,应该用\0才行。
题目三:7-12 单向链表4
定义单向链表:输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序并输出。
1.PTA提交列表
2、设计思路
定义结构体,头结点、中间节点。先将头结点赋0,使用头插法,将数字直接倒序输出,用循环,当i为-1的时候跳出循环,循环中将p指向的值赋值为i,p->next=head->next,count++。
3、调试过程碰到问题及PTA提交列表情况说明
本题思路较简单,但还是有一些不懂的地方问的同学,链表运用不够熟悉
二、同学代码互评
依琳:
我:
依琳的代码跟我的总体思路差不多,差别在于在输入时,她加了一个getchar(),免去了我用scanf,还要手动输入一个字符来代替的麻烦;
其余的大致一样,更喜欢依琳的代码。
三、PTA最后排名
四、本周学习总结
我学会了:
1、结构体定义并不是定义一个变量,而是定义了一种数据类型。
2.用结构体能很好的把一些相关联的变量封装起来,看得较为清楚。
3.知道链表的新建和增删改查等功能,可以在一些复杂的程序中简化运算
4.输出用链表代替数组,可以更省内存并且方便删改
还不会:
链表的增和删的功能运用不熟悉,结构体和链表的结合在具体题目中也还不会用