C语言博客作业--结构体

本文详细介绍了C语言中结构体的应用,包括成绩统计、时间换算和通讯录管理等PTA实验作业的解决思路与代码实现。同时,探讨了结构体、共用体、枚举类型和递归函数的概念,分享了学习总结与调试经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、PTA实验作业

题目1:6-2 按等级统计学生成绩

1. 本题PTA提交列表

1235550-20171224192830146-686946731.png

2. 设计思路

定义不及格人数count
for(i=0;i<n;i++)
在循环中将分数等级赋给结构体变量grade
if((*(p+i)).score<60)
统计不及格人数
循环结束
返回count

3.代码截图

1235550-20171224193116209-1499644653.png

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

1235550-20171225113339616-730371559.png

开始不知道怎么用指针表示结构体变量,出现了上图的错误,后将*括起来即可;之前还因为基础不牢固出现了大写字母未加单引号的错误。

题目2:7-2 时间换算

1. 本题PTA提交列表

1235550-20171224192922568-1221490918.png

2. 设计思路

定义一个时间结构体,其中有小时h,分钟m,秒s
定义两个结构体变量now,then
输入时间now
输出通过运算得出的时间then
结束

3.代码截图

1235550-20171224193257740-1920750165.png

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

1235550-20171225113832459-1706585698.png

分钟计算出现问题,忘记取余60了,之前小时位的数也忘了取余24了,满进都是要用取余的。

题目3:7-6 通讯录的录入与显示

1. 本题PTA提交列表

1235550-20171224192957740-723182717.png

2. 设计思路

定义一个联系人结构体cp
定义一个结构体变量数组用于存放联系人信息
for(i=0;i<n;i++)
输入并储存联系人信息
通过输入的数组检索出对应联系人
输出检索到的联系人的信息
若没有该联系人
则输出没有找到
结束

3.代码截图

1235550-20171224193405693-744409681.png

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

1235550-20171225114437397-1406345807.png

输出出了问题,调试发现通讯录中的信息并没有问题,输出的变量也没有问题,最后尝试更改了一下范围输出才正确了,可是还是不知道问题所在,最后还是有测试点没通过没有满分。。。
1235550-20171225114739006-966883462.png

截图本周题目集的PTA最后排名。
1235550-20171224193027881-2094806089.png

三、阅读代码(找两篇优秀代码贴图展示,先描述题目,再贴代码,可自己在里面加注释)

代码:

1235550-20171224224208568-930110583.png

解释

用于统计学生平均成绩并计算男女学生人数

四、本周学习总结

1.总结本周学习内容。

(1)结构体可以有结构体类型、共用体的类型的数据。结构体每一位成员都用来表示一种具体事务的属性,可以赋初值。

(2)共用体是一种多变量共享存储空间的构造类型,它允许几种不同的变量共用同一存储空间。(同一存储空间可以存储不同类型的数据)。

它不可以赋初值,空间等于最大成员占据的空间。

(3)枚举类型是指变量的值可以全部列出,定义一个枚举变量后,变量的值确定在定义之中。

它和结构体、共用体的区别在于,枚举元素是常量,只能在定义阶段赋值。

(4)递归函数

定义:函数自己调用自己的方式
编写递归函数的两个关键点:递归出口,递归式子。
在编写程序时只给出运算规律,具体实现细节应该让计算机去实现处理,读者不要钻到细节的实现上去,否则会实现细节的泥沼中很难理出头绪。

(5)函数嵌套

结构化程序设计主要原则:自顶向下,逐步求精,函数实现。
注意问题:现值函数的长度,避免函数功能的重复,减少全局变量的使用。

2.罗列本周一些错题。

题目

1235550-20171224225028475-1025739031.png
1235550-20171224225109178-1819659742.png

posted on 2017-12-24 22:53  lyzzzzzz 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/luyongzhi/p/8099621.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值