C语言I博客作业06
一.作业头
| 这个作业属于哪个课程 | C语言程序设计II |
|---|---|
| 这个作业要求在哪里 | 作业06 |
| 我在这个课程的目标是 | 学会使用switch语句,在解决问题时,思考在if语句与switch语句中做出最优选择,避免过多条件的重复,简化自己的代码的结构 |
| 这个作业在那个具体方面帮助我实现目标 | 在pta的作业第三题中可以特别分析 |
| 参考文献 | 《C Primer Plus》 |
| 学号 | 20209032 |
二.本周作业
1.PTA实验作业(20分/题)

1.1 计算天数 (15分)

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前天是哪天 (20分)

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变成了如此复杂的代码,自己考虑问题也逐渐严谨。
- 但是还是要继续学习,因为自己的代码其实重复的东西还是挺多的,多学才会更加简化自己的代码,不至于重复许多条相似的代码。

浙公网安备 33010602011771号