C语言I博客作业06
1.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11553 |
这个作业的目标 | <学会并熟练switch语句的使用,进一步熟练分支结构> |
学号 | <20209130> |
一、本周教学内容&目标
第3章 分支结构 3.3 使学生熟悉多分支结构switch语句的使用。
二、本周作业头
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11553 |
我在这个课程的目标是 | <熟练掌握C语言编程,完全搞定C语言> |
这个作业在哪个具体方面帮助我实现目标 | <对switch语句的使用和熟练方面> |
参考文献 | https://www.cnblogs.com/jn2765187762/p/14049960.html https://www.cnblogs.com/wiser-tao/p/14033564.html (注:这是我取材地,非常感谢两位同学!!!) |
三、本周作业
1.PTA实验作业
2.代码互评
3.学习总结
四、作业格式
1.PTA实验作业(20分/题)
1.1 7-3 计算天数 (15分)
本题要求编写程序计算某年某月某日是该年中的第几天。
1.1.1数据处理
数据表达:用了year、month、day、sum这些变量,它们都是整型变量,year、month、day是自然输入得来,而sum随month的输入而变化,并加上输入的day得来。
数据处理:表达式:sum+=day;sum++;
流程结构:switch分支结构,if流程结构
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2008/05/06 | 127 | 05月06日是2008年的第127天 |
2017/09/21 | 264 | 09月21日是2017年的第264天 |
2016/03/01 | 61 | 03月01日是2016年的第61天 |
2020/11/28 | 333 | 11月28日是2020年的第333天 |
1.1.4 PTA提交列表及说明
提交列表说明:
1.答案错误:输入时忽略了“/”符,导致答案错误,之后仔细观察输出案例发现错误后改正。
2.答案错误:忘记加上年/月/日中“日”的天数了,只有月的天数,之后加上表达式:sum+=day。
3.部分正确:忘记考虑month>2和month<2的情况了,导致一部分答案错误,之后在if语句中加上了条件。
1.2 7-4 前天是哪天 (20分)
本题目要求读入年、月、日,然后判断前天日期。
1.2.1 数据处理
数据表达:用了year、month、day、a这些变量,它们都是整型变量,year、month、day是自然输入得来,而a则由if-else语句判断后赋值得来。
数据处理:表达式:day=day-2;day=31;month=12;year=year-1;month=month-1
流程结构:if-else分支结构、else-if分支结构、多分支结构嵌套。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2020 11 28 | 2020-11-26 | 2020年11月28日前天是11月26日 |
2016 3 2 | 2016-2-29 | 2016年3月2日前天是2月29日 |
2001 12 18 | 2001-12-16 | 2001年12月18日前天是12月16日 |
1.2.4 PTA提交列表及说明
提交列表说明:
1.部分正确:日期为2的情况未考虑,导致只有一个答案正确,之后把“day==1”改为“day<=2”。
2.答案错误:最后输出结果是忽略了“-”符,导致错误,之后把最后输出语句改为“%d-%d-%d”。
3.部分正确:日期的值在列表达式时多减了一日,导致答案错误,之后把所有day的赋值多加了1。
2.代码互评(5分)
同学代码截图:
自己代码截图:
1.使用语句不同,我的是使用if-else和else-if语句嵌套 ,而同学习惯用switch语句来写,同学的更加简洁。
2.输出习惯不同,同学习惯在分支结构判断之时就输出最后答案,而我习惯在所有判断完成后再总的来输出最后答案。
同学代码截图:
自己代码截图:
1.分支结构使用习惯不同,同学习惯只使用if语句来进行分支结构判断,而我习惯使用else-if语句来进行分支结构判断。
2.考虑情况的全面程度不同,同学习惯考虑到所有情况,比如她把A<=0的情况也考虑了,而我则更侧重完成作业的一些条件。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周 | 20h | 400 | 什么是主函数;代码的储存单元;会打“hello world” | 无 |
第九周 | 24h | 450 | 三个程序结构;各种数据类型;if-else语句的使用 | 无 |
第十周 | 28h | 500 | 三个运算的优先级;for循环语句的使用;会输出转换表 | for循环的嵌套有些不会 |
第十一周 | 30h | 600 | 进一步熟悉for循环语句;调用数学函数;自己定义函数 | 自己定义函数不太熟练 |
第十二周 | 28h | 580 | 更进一步学习了多种分支结构的使用;学会了逻辑控制符;学会了else-if语句; | 对多种分支结构的使用不太熟练,无法灵活使用 |
第十三周 | 34h | 650 | 明白了逻辑控制符和其他运算符之间的优先级的区别;学会了switch语句;预习了多分支结构的另一种用法; | 对多分支结构运用太过死板,想到一种就只会使用一种 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
1.这周总体感觉还行,学习了分支结构中的switch语句,一开始还不怎么会用这个新学的语句,现在做了作业,也算知道怎么用了。
2.这周打代码还是可以的,因为作业里的代码量飞了上去,自然总体打代码的量也跟着上升,训练还是恨到位的,下周要继续保持。
3.经过做课外题目和自己思考怎么构思代码后,现在对代码的构思的进步还是很大的,除了新的代码的使用时构思还会卡一下,其他的都很快就可以有一个基本框架。
4.但还是有不足,就是对多分支结构的一些嵌套,还是不熟练,比如pta的7-4那道题我就写了好久,所以接下来学习还是要多往这方面训练训练。
5.这周整体还是让人感觉挺欣慰的,有缺点,但好的地方还是很多的,好的地方要保留,缺点要尽快改,下周冲冲冲!!!加油!!!