结构体和链表

一,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.输出用链表代替数组,可以更省内存并且方便删改 

还不会:

链表的增和删的功能运用不熟悉,结构体和链表的结合在具体题目中也还不会用

posted @ 2018-01-20 11:33  linzhiyi  阅读(220)  评论(0编辑  收藏  举报