C语言博客作业--结构体
一、PTA实验作业
题目1:6-3 结构体数组中查找指定编号人员
1. 本题PTA提交列表
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.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
刚刚开始没有想起来库函数内比较字符串是否相等的函数用法,自己做了字符串是否相等的判断,然后没做对,后来看了同学的代码只有几行,就学习了同学的做法。
题目2:7-1 计算职工工资
1. 本题PTA提交列表
2. 设计思路(伪代码或流程图)
定义结构体employee {
name字符串存名字
basic-基本工资 extra-浮动工资 expend-支出
virtua-实际工资
};
void total(struct employee *p,int n)
int main(){
定义n个人
输入n
定义struct employee 类型数组 employ[n];
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.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
- 刚刚开始名字的部分我是用字符型存放而不是字符串,然后没输入三个数据就直接输出了 解决办法:改用字符串
- 名字部分改用字符串后的输入用gets录入空格 解决办法:改用scanf("%s")的输入方法
题目3:7-5 有理数比较
1. 本题PTA提交列表
2. 设计思路(伪代码或流程图)
定义结构体number{
存放分子分母
};
int main(){
定义struct number类型变量 number1,number2
输入number1 number2
比较number1和number2的大小,然后输出相应的式子
}
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明。
二、截图本周题目集的PTA最后排名
三、阅读代码
- 刚刚开始用了比较笨的办法自己去写比较字符串是否相同,看了这个代码恍然大悟。
四、本周学习总结
1.总结本周学习内容。
学会了
- 定义结构体,和结构体与指针同时使用的指向,如(*p).ss表示指针p指向的结构类型变量内的ss元素
- 用了很多次的字符串比较strcmp(x,y) 前一定要有声明#include <string.h>
- 函数嵌套调用,期中考的那题能够明白意思了
还不会
- 函数调用传参还不太熟练,如传指针型变量时候用不用&号,形参加不加*号都是我试了以后才知道的,加入不用电脑做题,可能就不行了。需要巩固。
- 函数假如要返回一个结构体类型,是直接返回结构体还是返回结构体指针
- strcmp函数如两字符串不相等时的结果
2.罗列本周一些错题。
错误原因:对于strcmp比较不相同时的字符串不理解其值是否大于0
错误原因:反复调用函数时比较混乱,不清晰。