高级语言程序设计课程第九次个人作业
**高级语言程序设计课程第九次个人作业**
-
这个作业属于哪个课程:
https://edu.cnblogs.com/campus/fzu/2024C -
这个作业要求在哪里:
https://edu.cnblogs.com/campus/fzu/2024C/homework/13311 -
学号:102400108
-
姓名:王馨怡
作业内容: -
编写并运行书本第14章14.17复习题中的第3~5,10,11题
-
编写并运行书本第14章14.18编程练习题目中的第3,4,5题
一、编写并运行书本第14章14.17复习题中的第3~5,10,11题。
14.17.3
题目:设计一个结构模板储存一个月份名、该月份名的 3 个字母缩写、该月 的天数以及月份号。
问题:无
解决:无
14.17.4
题目:定义一个数组,内含 12 个结构(第 3 题的结构类型)并初始化为一 个年份(非闰年)。
问题:没看懂“初始化为一 个年份(非闰年)”的意思
解决:和同学讨论,意思应该是初始化每一个月的天数,使其为非闰年。
14.17.5
题目:编写一个函数,用户提供月份号,该函数就返回一年中到该月为止 (包括该月)的总天数。假设在所有函数的外部声明了第 3 题的结构模版和 一个该类型结构的数组。
问题:无
解决:无
14.17.10
**题目:假设有如下结构:
struct gas
{
float distance;
float gals;
float mpg;
};
a.设计一个函数,接受 struct gas 类型的参数。假设传入的结构包含 distance 和 gals 信息。该函数为 mpg 成员计算正确的值,并把值返回该结构。
b.设计一个函数,接受 struct gas 类型的参数。假设传入的结构包含 distance 和 gals 信息。该函数为 mpg 成员计算正确的值,并把该值赋给合适的成员**
问题:对于b的理解感觉很有偏差
解决:和同学讨论,b的意思应该是把该新结构体赋给一个结构体,并将mpg打印出来
14.17.11
题目:声明一个标记为 choices 的枚举,把枚举常量 no、yes 和 maybe 分别设置为0、1、2
问题:无
解决:无
a
b
二、编写并运行书本第14章14.18编程练习题目中的第3,4,5题。
14.18.3
题目:修改程序清单 14.2 中的图书目录程序,使其按照输入图书的顺序输出图书的信息,然后按照标题字母的声明输出图书的信息,最后按照价格的升序输出图书的信息。
问题:看不懂14.2的输入函数是什么意思
解决:询问老师,已理解
14.18.4
题目:编写一个程序,创建一个有两个成员的结构模板:
a.第1个成员是社会保险号,第2个成员是一个有3个成员的结构,第1个成员代表名,第2个成员代表中间名,第3个成员表示姓。创建并初始化一个内含5个该类型结构的数组。该程序以下面的格式打印数据:Dribble, Flossie M.–– 302039823如果有中间名,只打印它的第1个字母,后面加一个点(.);如果没有中间名,则不用打印点。编写一个程序进行打印,把结构数组传递给这个函数。
b.修改a部分,传递结构的值而不是结构的地址。
问题:一直都输入不了,编译显示我将struct定义在了内部,但明明是外部
解决:经过我半个小时的查找,发现我struct student写成了struct studen!漏写了t!(变量名写错了)
a
b
14.18.5
**题目:编写一个程序满足下面的要求。
a.外部定义一个有两个成员的结构模板name:一个字符串储存名,一个字符串储存姓。
b.外部定义一个有3个成员的结构模板student:一个name类型的结构,一个grade数组储存3个浮点型分数,一个变量储存3个分数平均数。
c.在main()函数中声明一个内含CSIZE(CSIZE = 4)个student类型结构的数组,并初始化这些结构的名字部分。用函数执行g、e、f和g中描述的任务。
d.以交互的方式获取每个学生的成绩,提示用户输入学生的姓名和分数。把分数储存到grade数组相应的结构中。可以在main()函数或其他函数中用循环来完成。
e.计算每个结构的平均分,并把计算后的值赋给合适的成员。
f.打印每个结构的信息。
g.打印班级的平均分,即所有结构的数值成员的平均值。
问题:打印出的平均分除了第一个人是正确的,其余都是错误的
解决:发现我自定义的函数 find_averages 中变量sum在第一个for循环的外面,导致每个人的sum都叠加在了一起,导致结果错误。将其放入第一个for的里面,第二个for的外面,问题解决
总结思考:
1.经过这次的练习,我发现我做题总是粗心大意的。例如,又忘记初始化、函数名写着写着就写错了。不认真,浮躁了,要注意!!!
2.对于结构体的函数的写法,我感觉我已经有了模糊的概念,我需要再消化一下。
3.但是我发现我的bug总是出现在出乎意料的地方,编程风格感觉还要再改进一下。
4.对于课本知识,我认为我还需消化,有些内容并未理解。