C语言I博客作业06

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11557
我在这个课程的目标是 巩固旧知识,进一步掌握switch语句
这个作业在那个具体方面帮助我实现目标 PTA作业的完成和分析,对知识和自己的总结
参考文献 C语言程序设计


1.PTA实验作业(20分/题)


1.1 计算天数

题目内容描述:本题要求编写程序计算某年某月某日是该年中的第几天。

1.1.1数据处理

数据表达:用了变量year,month,day,x,y,z;均为整型变量。
        year表示输入的年,month表示输入的月,day表示输入的日。x表示输入年份除4的余数,y表示输入年份除100的余数,z表示输入年份除400的余数。
数据处理:表达式:x = year % 4; y = year % 100;z = year % 400;用了if语句的嵌套,switch语句,顺序结构。


1.1.2 实验代码截图


1.1.3 造测试数据

输入数据 输出数据 说明
2009/03/02 61 3月2日是2009年中的第61天
2000/03/02 62 3月2日是2000年中的第62天
2001/10/21 294 10月21日是2002年中的第294天
2002/03/08 67 3月8日是2002年中的第67天
**
1.1.4 PTA提交列表及说明 **

提交列表说明:

部分正确:“闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。”表达错误。
解决方法:改为"if(x == 0 && y != 0 || z == 0)"。
部分错误:忽略了7,8月份均有31天,且出现计算错误。
解决方法:将运算过程的数据改写。


1.2 前天是哪天

题目内容描述:本题目要求读入年、月、日,然后判断前天日期。

1.2.1数据处理

数据表达:用了变量y,m,d,a,b,c;均为整型变量。
        y表示输入的年,m表示输入的月,d表示输入的日。a表示输入年份除4的余数,b表示输入年份除100的余数,c表示输入年份除400的余数。
数据处理:表达式:a = y % 4; b = y % 100;c = y % 400; m=m+11; m=m-1; d=d+27; d=d+28; d=d+29;
         用了if语句的嵌套,switch语句,顺序结构。


1.2.2 实验代码截图


1.2.3 造测试数据

输入数据 输出数据 说明
2020 10 16 2020-10-14 2020年10月16日前天为2020年10月14日
2020 1 2 2019-12-31 2020年1月2日前天为2019年12月31日
2020 3 2 2020-2-29 2020年3月2日前天为2020年2月29日
2019 3 2 2019-2-28 2019年3月2日前天为2019年2月28日
2000 3 1 2000-2-28 2000年3月1日前天为2000年2月28日
**
1.2.4 PTA提交列表及说明 **

提交列表说明:

编译错误:没有理清楚题目,思路不清晰,导致过程出现错误。
解决方法:多次仔细阅读题目,理清思路,改写代码。
答案错误:忽略了7,8月份均有31天,且出现计算错误。
解决方法:将运算过程的数据改写。


2.代码互评(5分)


题目1:前天是哪天

题目内容描述:本题目要求读入年、月、日,然后判断前天日期。
同学代码截图1

自己代码截图1

1.我与同学都是用了if语句的嵌套和switch语句。同学的代码是最后再进行输出,与我的有所不同,同学的显然更简便,值得我学习。
2.我认为同学的"if(dd>2){  }"这一部分是不需要用switch语句来进行分类讨论的,因为当dd>2时,日期的前一天月份不会改变,是不是闰年对此也没有影响。
3.同学对月份变化的表达是直接将数据算出,而我对其是通过表达式计算,而我与同学对日的表达则恰恰反了过来。我认为直接写成数据更简便,通过表达式计算则更易理解运算过程。


题目2: 根据输入的数字,输出需要上课的节数。

题目内容描述:

同学代码截图2

自己代码截图2

1.同学用的是else-if语句,我用的是switch语句,个人觉得同学的更好理解,自己的比较简便。
2.同学将星期六和星期天的合在一起,这一点值得学习,并利用到之后的代码中。
3.同学的排版很清晰明了,有适当的空行,我应该多注意这方面。


3.学习总结(15分)


3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 10h 76 基本格式,定量定义,输入输出
第二周 20h 249 赋值,算数运算,if-else语句 一些格式不太理解
第三周 25h 358 for循环语句 理解但不太会运用
第四周 30h 500 函数的调用,自定义函数 实参,形参不太理解。不太会定义函数
第五周 35h 580 二分支结构及多分支结构,if-else语句及else-if语句,字符型变量的运用 数学函数的使用
第六周 37h 650 switch语句,多分支结构 对switch语句掌握得不够熟练,遇到分类讨论的题时思路不清晰
**
3.2 累积代码行和博客字数(5分)**


3.3 学习内容总结和感悟(5分)


3.3.1 学习内容总结


3.3.2 学习体会

①经过一周的学习,了解了switch语句,学习了多分支结构,但还没有值得完全掌握。
②对博客园的使用,markdown的语法更加熟练,对作业的排版有了更高要求。
③现在学习的知识越来越难,我接下来要多练习,补齐自己的短板的同事好好学习新知识。
④接下来的一周。我计划练习双分支结构和多分支结构,掌握switch语句,锻炼解题思维,逻辑能力。
⑤对自己代码的排版还是要多加注意,要更清晰明了。

posted @ 2020-11-29 12:13  .Luminous  阅读(190)  评论(12编辑  收藏  举报