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.这周整体还是让人感觉挺欣慰的,有缺点,但好的地方还是很多的,好的地方要保留,缺点要尽快改,下周冲冲冲!!!加油!!!

posted @ 2020-11-28 13:58  呵丶你不懂  阅读(106)  评论(7编辑  收藏  举报