一.作业头
这个作业属于哪个课程 |
C语言程序设计II |
这个作业要求在哪里 |
作业06 |
我在这个课程的目标是 |
学会使用switch语句,在解决问题时,思考在if语句与switch语句中做出最优选择,避免过多条件的重复,简化自己的代码的结构 |
这个作业在那个具体方面帮助我实现目标 |
在pta的作业第三题中可以特别分析 |
参考文献 |
《C Primer Plus》 |
学号 |
20209032 |
二.本周作业
1.PTA实验作业(20分/题)
1.1.1 数据处理
数据表达:用到了year,month,day,n四个变量;其中year,month,day的值是由scanf语句输入,n的值是有在switch语句中逐渐递加得到;全部都为整型。
数据处理:用到了累加的表达式;switch与if的分支结构。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 |
输出数据 |
说明 |
2020/02/29 |
60 |
当输入闰年的2月的最后一天的输出数据 |
2019/02/29 |
60 |
当输入的是错误的月份的时间时,输出数据是否会报错 |
2019/02/29 |
error |
在第二次造数据时发现自己的思考过少,对代码进行了更改,再一次测试 |
2020/02/30 |
error |
对新考虑的事物进行测试 |
1.1.4 PTA提交列表及说明
1、部分正确:一开始对于条件的满足有一点不太正确,导致九月以后的时间的计算错误;
2、考虑不完整:虽然结果已经正确,但是在自己造数据的时候,发现自己的思路不够严谨。于是对这一次再一次进行修改。
1.2.1 数据处理
数据表达:用到了year,month,day三个变量;三个变量均由scanf输入值;且都为整型;
数据处理:自减的数据表达式;if与switch的分支结构。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 |
输出数据 |
说明 |
2019 3 1 |
2019-2-27 |
平年的2月的数据测试 |
2019 1 1 |
2018-12-30 |
对于跨年的数据测试 |
2019 10 2 |
2019-9-30 |
对于日期为二的测试 |
2019 10 9 |
2019-10-7 |
对于日期数大于二的测试 |
2019 2 29 |
2019-2-27 |
对于日期不存在的测试 |
2019 2 29 |
error |
对于修改后的测试 |
1.2.4 PTA提交列表及说明
1、部分正确:对于一开始的二月的测试,由于自己的条件过多有点看不过来,导致修改错误。
2、考虑不完整:对于即使pta正确的事情,既然自己想到了,就想改过来,尽量严谨。
2.代码互评(5分)
2.1 同学代码截图
2.2 自己代码截图
2.3 区别
- 同学一,在该题目中要考虑字节的对齐问题,减少了变量数量的设置,相比之下,我的条件重复较多,语句较多。
- 同学二,在该道题目上,两人的思路刚好相反,一正一逆,但是我觉得逆语句较明确。还有,应当考虑科学的严谨性,应造数据测试不存在的日期。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
6 10.8~10.11 |
2h |
51 |
打印“ hello world” |
无 |
7 10.12~10.18 |
8h |
70 |
各个符号代表的是什么的基础知识 |
还有许多符号分辨不清 |
8 10.19~10.25 |
10h |
93 |
数学函数的调用 |
对于大佬前面的哪些头文件的调用类型看不懂 |
9 10.26~11.1 |
10h |
154 |
if-else语句 |
无 |
10 11.2~11.6 |
10h |
348 |
for语句 |
较为复杂的循环还搞不清循环几次,循环内容 |
11 11.2~11.13 |
8h |
360 |
用户自定义函数的使用,理解与明白函数的定义与调用的区别 |
自定义函数中如果变量与主函数的变量相同,为什么计算机会分清这两个变量是谁?想不清楚为什么会自己跳动到相应的地点再进行运算,是有什么相应的规则让他自己跳动吗? |
12 11.14~11.20 |
15h |
470 |
if的嵌套语句,关于char在使用中的事项 |
关于《C Primer Plus》中有些关于3.4.8的有些概念性的问题较为模糊 |
13 11.21~11.27 |
20h |
593 |
如何简化在switch中有条件的语句,在if与switch都存在时,代码就会看上去就会很多,什么语句可以简化这种呢 |
|
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
- 科学应该要具备严谨性,不可因为题目正确,而丢掉自己思考的空间,在考虑过程中,应该要具备严谨,细心等,要为用户考虑,要为使用者提供正确的思路。
- 看着自己的代码逐渐变长,代码也从开始的hello world变成了如此复杂的代码,自己考虑问题也逐渐严谨。
- 但是还是要继续学习,因为自己的代码其实重复的东西还是挺多的,多学才会更加简化自己的代码,不至于重复许多条相似的代码。