五、PTA实验作业(结构体)
题目一:
1.本题PTA提交列表:
2.设计思路(包括流程图),主要描述题目算法
//设计思路,由题目可知
1.该题采用结构体,结构体内要定义一个数据域和一个指针域
2.定义两个变量max,和min用来标识最大最小值
3.在主函数中用动态内存来为数据分派配内存并且判断是否分配内存成功;
4.用for()循环来输入n个数据;先使最大最小值都为零,再通过for()循环用所有值一次判断是否都大于max,如果大于就max=i;同理min也是这么判断
5.最后要释放内存,并且输出数据
最终的代码如下:
流程图如下:
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
调试过程没有大问题,基本会做,但对动态内存和结构体数组有些不理解,特别是数组,结构体,指针综合运用时,时常弄混。所以还是得多做多看理解。
题目二:
1.本题PTA提交列表:
2.设计思路(包括流程图),主要描述题目算法
//由题目,设计思路如下
1.这道题采用三维数组可以巧妙地求解
2.先定义一个三维数组,并且输入值
3。再用三个for循环来比较总分,在比较过程中当三层循环都满足条件时,再进行分数求和
4.最后输出名字,学号和总分就可以
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
这道题一开始我是采用结构体,但多次都做不出正确的答案;最后在和同学讨论下,就采用了三位数组,用三维数组可以巧妙而且简单的求解;
题目三:
1.本题PTA提交列表:
2.设计思路(包括流程图),主要描述题目算法
//由题目,设计思路如下
1.先定义四个数组,用于存名字,存号码,生日
2.输入一个n的值确定要输入的人数;再用for()循环来输入姓名,生日,号码
3.再用两个for()循环来比较出生日期;
4.最最后再用两个for()循环来输出已经排好的数据;
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
调试过程没有问题,一开始不知从何下手来判断出生日,但后来查阅了一些资料就有了头绪,直接用循环和数组比较就能解决
二、同学代码互评
1.我的代码
:
2.同学:邢宇凡
同学的代码
3.我和同学的代码有哪些不同?各自有哪些优势?你更喜欢那种代码的风格?
同学的思路和我的基本相似,但方法不同。同学用数组来分配内存,比较完再输出;我是采用动态数组进行分配内存。
三、截图本周题目集的PTA最后排名
四、本周学习总结
1.本周你学会了什么?
1.学会了结构体的基本定义,运用结构体来输入数据,
2.初步接触了结构体数组,结构体指针,以及链表和链表的增删改查
2.本周的内容,还有那些内容不会?
结构体指针还有些模糊,链表的增删改查运用的还不是很熟
原文地址:https://www.cnblogs.com/jicong/p/8318427.html