- 传入结构体数组str 和要查找的人员num
- struct student *pos;
- for pos=std to std+7
- if(strcmp(pos->num,num)==0)
- 退出循环
- end for
- 返回 *pos
- struct worker{
- char name[10];
- float jiben, fudong,zhichu,shifa;
- };//该结构体表示职工姓名、基本工资、浮动工资、支出和实发工资
- struct worker workers[1000]; 循环变量i,员工个数number
- 输入员工个数
- for i=0 to number
- 输入职工姓名、基本工资、浮动工资、支出
- 计算实发工资=基本工资+浮动工资-支出
- end for
- for i=0 to number
- 输出 姓名 实发工资
- end for
- ##3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)
- ![](http://images2017.cnblogs.com/blog/1233587/201712/1233587-20171224172208928-1725723329.png)
- ##4.本题调试过程碰到问题及PTA提交列表情况说明。
- - 1.一直编译错误,可是又找不出来错在哪里,devc上错误语句提示在输入员工信息那一句,可是我反复检查也没发现有语法错误。
- - 解决办法:实在是找不到错在了哪里,所以我后来就再回去看了一遍课本,看看他们的程序都是怎么编写的。最后我发现每个程序都是在主函数之前有定义一个结构体,然后主函数中又再定义了一个结构体,所以我就回去在我的程序中再定义一个结构体,之后果然就可以运行了。
- - 2.可以运行之后,运行出来的答案不对,无法计算出正确结果,一直输出0.00
- - 解决办法:反复检查后发现数据类型定义不对,我将员工的工资都定义成了int
- - 3.输出和pta一模一样,就是不正确
- - 解决办法:一开始以为是格式不对,所以就让输出数据对齐,可是也不对,最后检查了好久才知道我定义的是float型数据,可是输入输出都是用%lf,后来改回%f就正确了,也不用控制格式。
- #题目3:7-2 时间换算
- ##1. 本题PTA提交列表(要提交列表,不是结果)
- ##2. 设计思路(伪代码或流程图)
- ##3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)
- ##4.本题调试过程碰到问题及PTA提交列表情况说明。
- - 这题刚开始没想到那么多,就是调出来示例就提交了pta,结果基本都是错的。
- - 解决办法:这个题目其实也不难,但是就有点麻烦,有很多种情况需要考虑进去,我一开始是将小时分钟和秒一起输出,后来发现这样要讨论的情况非常多,就果断放弃,换成小时、分钟、秒一个一个输出,这样可以减少许多步骤,后来在按照pta上的测试点一个一个的调,最后就可以调出来了。
- #二、截图本周题目集的PTA最后排名。
- #三、阅读代码
- #四、本周学习总结
- ##1.总结本周学习内容。
- ###1.结构体、共用体、枚举这种构造数据类型特点。
- ####1.结构体和数组一样都是构造型数据类型,和数组不同的是,结构体可以处理不同类型的数据。结构体里还可以有结构体类型、共用体的类型的数据。
- ####2.共用体是一种多变量共享存储空间的构造类型,它允许几种不同的变量共用同一存储空间。共用体和结构体的区别:
- - 1.结构体每一位成员都用来表示一种具体事务的属性,共用体成员可以表示多种属性(同一存储空间可以存储不同类型的数据)。
- - 2.结构体总空间大小,等于各成员总长度,共用体空间等于最大成员占据的空间。
- - 3.共用体不能赋初值
- ####枚举类型是指变量的值可以全部列出,定义一个枚举变量后,变量的值确定在定义之中。它和结构体、共用体的区别在于,枚举元素是常量,只能在定义阶段赋值。
- ##2.递归函数原理
- - 递归的原理,其实就是一个栈(stack), 比如求5的阶乘,要知道5的阶乘,就要知道4的阶乘,4又要是到3的,以此类推,所以递归式就先把5的阶乘表示入栈, 在把4的入栈,直到最后一个,之后呢在从1开始出栈, 看起来很麻烦,确实很麻烦,他的好处就是写起代码来,十分的快,而且代码简洁,其他就没什么好处了,运行效率出奇的慢.
- ###以上皆来源于百度百科
- ##2.罗列本周一些错题。
- ###课堂派结构体程序改错题
- - 输入一个正整数n(3<=n<=10),再输入n个雇员的信息(如下表所示),输出每人的姓名和实发工资(基本工资+浮动工资-支出)。
int main()
{
struct emp
{
char name[10];
float jbg;
float fdg;
float zc;
- };
- int i,n;
- printf("n=");
- scanf("%d",&n);
- for(i=0;i<n;i++)
- scanf("%s%d%d%d",emp[i].name,emp[i].&jbg,emp[i].&fdg,emp[i],&zc);
- for(i=0;i<n;i++)
- printf("%5s实发工资:%d\n", emp[i].name,emp[i].zc);
- return 0;
}
```
来源: http://www.bubuko.com/infodetail-2439642.html