结构体

一、PTA实验作业

题目1:7-2 通讯录排序:输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。

1. 本题PTA提交列表

2. 设计思路

题目要求按照年龄从大到小的顺序依次输出,于是我只要用冒泡法把结构体变量从大到小排列就可以了。

3.本题调试过程碰到问题及PTA提交列表情况说明。

 

(1)答案错误:认真检查了一遍,发现是冒泡法排序那块出现了错误,j应该从0开始循环,才能遍历。此时i<n与i<n-1得到的结果一样,所以可以少一次循环。

4.代码截图。

题目二:7-4 通讯录的录入与显示:通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。

1.本题PTA提交列表

2. 设计思路

因为要输出查询的通话记录,所以用数组会比较方便,当得到要查询的编号为a时,直接输出s[a]中的所有成员即可。当然需要判断此时a是否在通话记录中。

3.本题调试过程碰到问题及PTA提交列表情况说明。

(1)答案错误:观察报错点为最长字符串和最小N,因为最大N的结果是正确的,所以猜想错误点在于最长字符串,那么就有很大的可能性为定义的字符串的范围太小,导致数据不够存放。是的,把字符串的位数增大后就正确了。

4.代码截图。

题目三:7-5 复数四则运算:本题要求编写程序,计算2个复数的和、差、积、商。

1.本题PTA提交列表

2. 设计思路

因为涉及到四则计算,所以用子函数更加方便。先用sum1记录两个复数之和的实部,sum2记录两个复数之和的虚部;再用子函数FACT(s.a1,s.b1,s.a2,s.b2)判断输出等式 ,用子函数fact(sum1,sum2)判断输出结果。差,积,商也是如此。

3.本题调试过程碰到问题及PTA提交列表情况说明。

(1)答案错误:当复数的虚部为负数时,输出就会在负号前多一个+,所以应该用if语句进行判断输出。

4.代码截图。

二、同学代码结对互评

1.互评同学:陈冰艳

2.我的代码、互评同学代码截图

陈冰艳同学的代码:

我的代码:

3.我和陈冰艳同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?

不同在于:陈冰艳同学用一个for循环分别计算出和,差,积,商,a为结果的实部,b为结果的虚部,调用子函数f(a)进行四舍五入,然后判断输出。而我是先用sum1记录两个复数之和的实部,sum2记录两个复数之和的虚部;再用子函数FACT(s.a1,s.b1,s.a2,s.b2)判断输出等式 ,用子函数fact(sum1,sum2)判断输出结果。差,积,商也是如此。

各自优势:陈冰艳同学代码的优势很明显,条理清晰,语言简洁明了。

我更喜欢陈冰艳同学的代码。

三、截图本周题目集的PTA最后排名。

四、本周学习总结

1.我学会了简单的结构类型,可以解决部分相关题目。

2.本周的内容,你还不会什么?

结构体的插入,删除,增添。

3.结构体考试总结

(1).哪题做错了,怎么改?

    7-5:子函数fact的正确判断输出是通过不断的调试得到的,如果条例一开始就很清晰就不会出现这种错误了。

   在格式上仍然需要花很多时间去修改。多注意输出结果后面是否有空格,换行什么的。

(2).考试结果满意么,怎么改进?

  考试结果感觉还行,但编译代码的条理性,语言的表述方面仍需要很大的提高。

 

 

 

 

 

posted @ 2018-01-10 23:41  信管罗艺芳  阅读(461)  评论(0编辑  收藏  举报