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

一、PTA实验作业(5分)

题目1:6-3 结构体数组中查找指定编号人员

1. 本题PTA提交列表

2. 设计思路(伪代码或流程图)

struct student
{ char  num[10];
  int  year,month,day ;
};//该结构体中num表示人员编号,year,month,day代表年月份
struct student fun(struct student  *std, char  *num)
定义结构体函数 *std用于找出指定编号,*num代表人员号数
struct student m,m用于返回
for(;;)
 std++ 
 当num等于*std时函数停止循环,此时指针指向指定结构体
  m.year=(*std).year;  
  m.month=(*std).month;
  m.day=(*std).day; 
  返回 m 

3.代码截图

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

不懂得使用strcmp与strcpy,而是用符号来对字符串进行赋值与比较,导致答案错误。

题目2 7-1 计算职工工资

1. 本题PTA提交列表

2. 设计思路(伪代码或流程图)

struct money{
		char name[111];
		double base;
		double move;
		double put;
};//name代表员工姓名,base,move,put代表基础,浮动工资以及支出
定义n代表职员数量,i用于循环
输入职员数量
定义结构体数组moneys[1000] 
利用循环输入员工的信息 moneys[i] 
再次循环 输出计算后的结果 

3.代码截图

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

1.数组长度定义不够大导致了段错误。
2.字符串在输入时应该用%s,且不能用&表示地址,否则程序无法进行。

题目3 7-5 有理数比较

1. 本题PTA提交列表

2. 设计思路(伪代码或流程图)

struct fs{
	double fz,fm;
};//fz代表分子,sm为分母
定义结构体变量 fs1,fs2
先输入fs1.fz/fs1.fm代表第一个分数的分子以及分母
再输入第二个分数 
用if比较fs1.fz*1.0/fs1.fm与fs2.fz*1.0/fs2.fm的关系
输出结果 

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

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


此2处错误均是忘记考虑了相等的情况导致答案错误

二、截图本周题目集的PTA最后排名。(2分)

三、阅读代码(2分)

1.
该代码用于实现字符串部分复制,运用了strcpy与strlen函数,并且利用了循环语句以及指针,实现地址偏移将指定位置的字符向前偏移从而实现字符串部分复制。

2.
本代码为这周上机考试中的一帮一题目,该代码用了结构体解决问题,在结构体中定义了姓名,性别,以及用于判断的变量,同时运用了很多库函数。

四、本周学习总结(1分)

1.总结本周学习内容。

1.这三种都是C语言的一种数据类型。

2.结构体和联合体可以含有多种数据类型,枚举只能含有一种基本数据类型,而且为整型。

3.结构体和联合体所占的空间不同,结构体按照对其方式每个数据类型都是独立的数据空间,整个结构体所占的空间基本上可以等于或者大于每个独立数据空间的和。而联合体所有数据类型都共享最大的那个数据类型的空间,所占的空间为最大的那个数据类型所占的空间。

2.递归函数原理

递归函数就是子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己

2.罗列本周一些错题。

1
不懂得三角形求面积公式导致无法算出答案

2

应该用%7.2f来使数据对齐

posted on 2017-12-24 12:06  FaceTheWind  阅读(682)  评论(0编辑  收藏  举报

导航