C语言I博客作业06
1.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11553 |
这个作业的目标 | <是让我们继续对学习过的内容进行回顾和总结,让我们养成良好的学习习惯,同时熟练switch的使用。> |
学号 | <20209128> |
一、本周教学内容&目标
第3章 分支结构 3.3 使学生熟悉多分支结构switch语句的使用。
二、本周作业头
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11527 |
这个课程的目标是 | <让我们在实践中逐步掌握程序设计的思想和方法,培养问题求解的能力> |
这个作业在那个具体方面帮助我实现目标 | <帮助我学会自我检讨与对switch语句的使用方法的回顾> |
参考文献 | <c语言程序设计Ⅱ> |
三、本周作业
1.PTA实验作业
2.代码互评
3.学习总结
四、作业格式
1.PTA实验作业(20分/题)
1.1 题目名1
计算天数。
本题要求编写程序计算某年某月某日是该年中的第几天,输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
1.1.1数据处理
数据表达:本题运用了双精度浮点型变量阿,以及整数型变量x,y,z,其中x,y,z分别表示输入的年月日,而浮点型变量a则是与x相同的数值,只是用于某些条件的判定。其最终数值均互相决定
数据处理:这一道题目则使用了本周新学习的switch语句运行的。所运用的新表达式case 1 2 3...判断不同条件运行不同的表达,其余表达式均为输入,输出,赋值语句,而流程结构则利用分支机构为主体运行。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2000/05/02 | 123 | 大于100天 |
2001/06/02 | 153 | 远大于100天 |
2051/12/02 | 336 | 接近1年 |
1.1.4 PTA提交列表及说明
说明
1.部分正确:第一次因为忘记编写判定非闰年的条件语序,所以除了闰年的数据均错误。
2.部分正确:第二次则因为在编写非闰年时if else语句中非闰年的条件逻辑错误,在计算运行时发生错误。
3.部分正确:这一次原本闰年和非闰年条件都写对了,但是忘记打闰年12月的表达计算了。所以导致部分正确
4.部分正确:因为心急,把非闰年1月的表达式忘记特殊另算了,导致又是部分正确
1.2 题目2
本题目要求读入年、月、日,然后判断前天日期。
在一行中输入年、月、日。(日期为有效日期)
1.2.1 数据处理
数据表达:用了哪些变量,这些变量的值是怎么来的,类型是什么。本题运用了整数型变量 x,y,z和浮点型变量a,其数值值是由程序运行值赋予的数值,且为整数,z,y的值互相决定,由是否为闰年,日期是否小于2号等条件决定.
数据处理:本题运用了if语句,其表达式用于判断输入数据是否为闰年,通过它们来计算出2月的特殊时期,其次使用了switch语句来计算各个月的前天的表达,其流程结构则为先输入日期,在通过if结构条件的表达式决定如何计算日期,从而显示本题答案。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2020 10 1 | 2020-9-29 | 日期在9月 |
2020 3 1 | 2020-2-28 | 日期在2月 |
2010 3 1 | 2010-2-27 | 该日期在2月 |
1.2.4 PTA提交列表及说明
说明
1.部分正确:第一次做题时是因为把if else 语句使用错了,导致程序只会运行闰年的表达计算,而导致部分正确。
1.部分正确:第二次,则在重新打非闰年的代码时计算天数时忘记将少于2号的月份给减一了,导致答案部分正确
1.部分正确:这道题我使用的在ifelse语句中夹杂了一个if else语句,少打了一个else的表达,导致答案部分正确。
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
代码1
同学代码截图
自己代码截图
不同点1:首先我使用的与上一题的判断条件写法相似,还是使用整数和浮点型变量计算判段使用哪一种表达式,而他依旧使用的是求余公式解决问题。
不同点2:因为我使用了浮点型变量,而需要多打表示几个小数点的写法,从观感上他的更加好看,而且更加易懂
代码2
同学代码截图
自己代码截图
说明
不同点1:他使用的是if else 语句将所有的情况都一一列举,这样会导致代码极长,不够简洁,而我则使用了swich语句,使代码更加简洁。
不同点2:我在判断是否为闰年是是利用了整数型变量和浮点型变量间计算结果的比较来判断是否为闰年,而他使用的是求余公式判断是否为闰年
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周 | 20> | 120 | 第一周我学习了制作简单的文字编程,以及c语言的基本字符和命令。如printf,return 0 等基本字符 | 该周问题已解决 |
第九周 | 24 | 180 | 第二周我学会了如何编程制作能够进行加减乘除的小程序,并且学习了使用比单精度更高级的双精度符号,同时也学会了定义一个函数来求所需的数据 | 该周问题已解决 |
第十周 | 26 | 260 | 这一周我学会了使用循环语句“for( )”来进行更加复杂的程序,从而解决分段的函数问题,以及多个数据的求和. | 该周问题已解决 |
第十一周) | 29 | 280 | 这一周我学会了调用数学函数如pow幂函数来解决乘方表和阶乘表生成的问题,以及学会了自己调用定义一个新函数来解决一些较复杂的数学问题。 | 该周问题已解决 |
第十二周 | 33 | 350 | 这一周我学会了使用了分支机构解决多条件的数学问题,同时也学会了使用了字符型变量来解决问题。 | 该周问题已解决 |
第十三周 | 30 | 450 | 这一周我学会了使用了分支机构中的switch语句解决更加复杂的问题,同时也学会使用多个语句相互结合解决问题。 | 这一周无较大问题。 |
3.2 累积代码行和博客字数(5分)
周/日期 | 博客字数 | 代码行数 |
---|---|---|
第八周 | 840 | 120 |
第九周 | 980 | 180 |
第十周 | 1500 | 260 |
第十一周 | 1650 | 280 |
第十二周 | 1750 | 330 |
第十三周 | 1900 | 380 |
![]() |
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
感觉学习c语言给过程中越来越有趣了,也明白了在大学的学习中更多的是自己发掘,学习的过程。不能和一起一样过于依赖老师,同时也培养了我们的学习能力和学习习惯。还有,折线图我是真的没办法阿,孩子穷,买不起excel,用不了正规折线图qAq,只能委屈班助大大将就着看看辽。最后希望自己能够越来越好。加油。