#一、PTA实验作业
题目一:7-1 查找书籍
1、PTA提交列表
2、设计思路
将书名和价格整为一个结构体,使用一个循环,分别将最贵和最便宜的书都假设为第一本书,当下一本书比该书贵(或便宜时),把下一本书的信息赋给max,并执行下一次循环,否则直接循环。
3、调试过程碰到的问题及PTA提交列表情况说明
一开始问题很大,首先当i等于0的时候,忘记加括号了;输入字符在gets前面得加上getchar,因为gets是可以读入回车符的,如果没有getchar,会输入一半的时候就会跳出结果。加上之后解决了sample等价;name里应为30以上的数,不然会使“最大n和最长字符串”错误。应该用double代替float,解决了最小n.
4、代码截图
题目二:7-6 一帮一
1、PTA提交列表
2、设计思路
因为这题分别用1和0表示男和女,把性别和名字弄成一个结构体,使用一个for循环,从第一个人往下数,在循环里嵌套另一个循环,从最后一个人往上数,当两个人性别不同(即一个0一个1),就输出一对,但如果输出条件只这样的话会发生重复,所以应该在输出前分别把要输出的人的性别打成其他的(即0和1以外的数字)。
3、调试过程中碰到的问题及PTA调教列表情况说明
上面那个错误是还没教链表之前打的,那时候并没有打出来,当时的问题在于没能够跳过已配对学生。
4、代码截图
题目三:7-12 单项链表4 (输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序并输出。)
1、PTA提交列表
2、设计思路
先设计一个递归结构体,和头结点、中间节点。先将头结点赋0,使用头插法,将数字直接倒序输出——设计一个循环,输入i,当i为-1的时候才跳出循环,循环中将p指向的data赋值为i,将p指向的next等于head指向的next,head指向的next等于p,同时将count+1。输出的时候注意最后一个数没有空格。
3、调试过程碰到问题及PTA提交列表情况说明
本来想将输出的时候分为第一个节点和其他节点。但是这种方法好像行不通,于是就还是设了一个count,用for循环输出。
4、代码截图
#二、同学代码互评
1、我的代码
梁宇航同学代码
我的代码和宇航同学的代码都使用循环嵌套分别从前后去寻找学生配对。
我的代码和他最大的不同在于我通过判断性别的数字来选择跳过已经选择的同学,而宇航同学通过if和else分男女两种情况进行挑选,可以直接防止学生重复的情况。
我更喜欢我的代码,思路更为简洁。
#三、PTA最后排名
#四、本周学习总结
1、我学会了:1、结构体定义并不是定义一个变量,而是定义了一种数据类型。
2、可以方便随意调动结构体里的变量。
3、能够用链表进行倒序,插入,删除等功能。
4、能够理解大部分链表。
2、我还不会:结构体我觉得理解的比较清楚,但链表的操作还很不熟悉。
3、考试结果不怎么满意,因为大部分的链表都还不怎么会。