结构体
一.PTA实验作业
7-1
1.本题PTA提交列表
2.设计思路:
我的思路:设一个结构体变量s1,每次输入的值存到s1中,将第一次输入的值同时存到max,和min中,在接下来输入s1时,比较每个s1和max,min之间的关系,如果s1.price大于max.price,那么就将max=s1,min也同理,最后输出的就是最高价图书和最低价图书。
错误样例1:输出时两个输出的值之间没有空格被PTA判断为错误。
错误样例2:在输入了n以后,需要有一行输入一个字符即我们敲击的换行,不然换行符会被系统认为是我们要输入的s1.name,这个错误很隐蔽很难发现。
7-6
1.本题PTA提交列表
2设计思路:
我的思路:定义一个一维数组存储学生的性别,定义一个二维数组存储学生的性别,然后循环输入学生性别和成绩,然后使用两层循环,第一层循环先输入一个学生的姓名,第二层循环逆序循环将第一个与第一层循环的姓别不同的学生输出,并且将他们的性别值赋成0,1以外的数使他们不会被重复使用。
错误样例1:在第一层循环时我循环了n次,并且在第二层循环中我把用过的数组a的前一半的数赋成了别的值但是后一半还是原来的值所以在后一半的学生中还会出现两人的sex相加等于1的情况,这样子输出就会多起来,解决方法就是将第一层循环的n改成n/2。
7-3
1.本题PTA提交列表
2.设计思路:
我的思路:将第一个输入的学生成绩先暂定为最大的,然后与后面输入的学生的成绩逐个比较,如果有更大的就替换它,最后留下的成绩就是最高的成绩,然后输出成绩最高的学生的信息。
错误样例:学生名字是字符串,定义出错造成段错误。
二.同学代码结对互评
互评同学:张瑜
我的代码:
我和张瑜大佬的学生成绩的比较方式不同
张瑜同学是在循环过程中逐个对比。
而我是规定一个然后再逐个与这个规定的最大值比较。
这段代码我规定一个初始最大值方便比较,所以我更喜欢自己的代码。
三.本周题目集的PTA最后排名
四.学习总结
1.我学会了什么?
1.结构的概念和定义
(1).关键字struct和它后面的结构名一起组成一个新的数据类型名。
(2).在定义嵌套的结构类型时,必须先定义成员的结构类型,再定义主结构类型。
(3).共同体
(4).结构数组运用。
2.结构指针
(1).((*p)中的括号是不可少的,因为成员运算符“.”的优先级高于“*”的优先级。)
(2).指向运算符->
(3).结构变量也可以作为函数参数。
(4).使用结构指针作为函数参数只要传递一个地址值。
2.我还有什么不会?
暂无。
链表
一.PTA实验作业
7-12
1.本题PTA提交列表
2.设计思路:
我的思路:在循环外先输入第一个数,然后进入循环循环输入,直到输入-1跳出循环,然后用头插法即可倒序输出。
我的代码:
错误样例:在Dev上可以运行,PTA上就是没办法运行,然后将用链表输入的数改成整数变量a输入就会正确。
7-13
1.本题PTA提交列表
我的代码:
2设计思路:
我的思路:首先申请一段足够长的内存空间,若空间分配失败要有提示,成功以后先收入一个学生的信息然后进入循环,循环输入接下来学生的信息直到输入0跳出循环,接着输入一个成绩,然后逐个判断学生成绩是否小于该成绩,若小于,则删除该学生的信息,最后循环输出符合条件的学生的信息。
错误样例:链表建立发生错误,后来改正使成为完整链表。
7-6
1.本题PTA提交列表
2.设计思路:
我的思路:首先申请一段足够长的内存空间,若内存分配失败要有提示,成功以后输入repeat表示要书勋输入几组数字,然后一段一段输入数字,直到每一段都输入-1为结尾,最后删除奇数结点即可。
当前无错误样例。
二.同学代码结对互评
同学姓名:张瑜
我的代码:
我的代码:好像更简洁一点点。
大佬的代码:思路清晰,一目了然。
就这段代码而言,我更喜欢大佬的代码。
三.本周题目集的PTA最后排名
四.学习总结
1.我学会了什么?
1.增 删 改 查(重点)
(1)增的两种基本方式
2.编译预处理。
3.首先要在内存中分配足够的空间,编程时申请内存失败要有提示,避免不必要的麻烦。
4.文件模块间的通信
5.单向链表的常用操作;
不会的:
链表的操作运用的还不是特别熟练需要多巩固。
2.我还有什么不会?
对链表的操作并不熟练,需要多家巩固
增删改查需要多巩固