C语言博客作业--结构体
2017-12-24 23:00
225 查看
一、PTA实验作业
题目1:6-3 结构体数组中查找指定编号人员
1. 本题PTA提交列表
![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225025601428-1196304745.png)
![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225025609788-1253559843.png)
2. 设计思路(伪代码或流程图)
struct student fun(struct student *std, char *num) 定义函数struct student 类型函数fun 定义形参指针*std指向std首地址 num指向n首地址 { 定义i控制变量 for i=0 to 8{ 如果std[i]内的num字符串和num相等则{ 返回结构体std[i] } } }
3.代码截图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/bed15e1953aadfb3526c1c69fdcbd5b7.png)
4.本题调试过程碰到问题及PTA提交列表情况说明。
![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225030302334-298197764.png)
刚刚开始没有想起来库函数内比较字符串是否相等的函数用法,自己做了字符串是否相等的判断,然后没做对,后来看了同学的代码只有几行,就学习了同学的做法。
题目2:7-1 计算职工工资
1. 本题PTA提交列表
![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225030538163-69669479.png)
2. 设计思路(伪代码或流程图)
定义结构体employee { name字符串存名字 basic-基本工资 extra-浮动工资 expend-支出 virtua-实际工资 }; void total(struct employee *p,int n) int main(){ 定义n个人 输入n 定义struct employee 类型数组 employ ; for i=0 to n{ 输入信息 } 调用函数total(employ,n); for(i=0;i<n;i++){ 输出信息 } } void total(struct employee *p,int n){ for(i=0;i<n;i++){ 实际工资=基本工资+浮动工资-支出; } }
3.代码截图
![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225030552803-2074950078.png)
![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225030757366-2135449176.png)
4.本题调试过程碰到问题及PTA提交列表情况说明。
刚刚开始名字的部分我是用字符型存放而不是字符串,然后没输入三个数据就直接输出了 解决办法:改用字符串名字部分改用字符串后的输入用gets录入空格 解决办法:改用scanf("%s")的输入方法
题目3:7-5 有理数比较
1. 本题PTA提交列表
![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225031905709-1909948908.png)
2. 设计思路(伪代码或流程图)
定义结构体number{ 存放分子分母 }; int main(){ 定义struct number类型变量 number1,number2 输入number1 number2 比较number1和number2的大小,然后输出相应的式子 }
3.代码截图
![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225031916538-662221082.png)
4.本题调试过程碰到问题及PTA提交列表情况说明。
二、截图本周题目集的PTA最后排名
![](https://images2018.cnblogs.com/blog/1233767/201712/1233767-20171225220000150-261296267.png)
三、阅读代码
刚刚开始用了比较笨的办法自己去写比较字符串是否相同,看了这个代码恍然大悟。![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225032649147-740963025.png)
四、本周学习总结
1.总结本周学习内容。
学会了
定义结构体,和结构体与指针同时使用的指向,如(*p).ss表示指针p指向的结构类型变量内的ss元素用了很多次的字符串比较strcmp(x,y) 前一定要有声明#include
函数嵌套调用,期中考的那题能够明白意思了
还不会
函数调用传参还不太熟练,如传指针型变量时候用不用&号,形参加不加*号都是我试了以后才知道的,加入不用电脑做题,可能就不行了。需要巩固。函数假如要返回一个结构体类型,是直接返回结构体还是返回结构体指针
strcmp函数如两字符串不相等时的结果
2.罗列本周一些错题。
![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225034137569-1660761217.jpg)
错误原因:对于strcmp比较不相同时的字符串不理解其值是否大于0
![](https://images2017.cnblogs.com/blog/1233767/201712/1233767-20171225034413194-939878253.jpg)
错误原因:反复调用函数时比较混乱,不清晰。