C语言I博客作业06

1.作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11553
这个作业的目标 <与上周作业要求基本一致,让我们能够学会自主学习的技能,自主找到自己的错误,以他人为老师,学习其优点避免其缺点>
学号 <20209134>

一、本周教学内容&目标

第3章 分支结构 3.3 使学生熟悉多分支结构switch语句的使用。


二、本周作业头

这个作业属于哪个课程 <C语言程序设计II>
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11553
我在这个课程的目标是 <每周上课之前提前预习下堂课内容,在下学期上课之前,学完下学期内容,并提前学习Python与Java>
这个作业在那个具体方面帮助我实现目标 <这个作业的内容要求可以很好的督促我完成我的目标,比如PTA的练习截图等>
参考文献 https://www.bilibili.com/video/BV1x7411M74h

三、本周作业

  • 1.PTA实验作业
  • 2.代码互评
  • 3.学习总结

四、作业格式

1.PTA实验作业:

1.1 题目名1: 7-4 前天是哪天

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

输入格式:在一行中输入年、月、日。(日期为有效日期)

输出格式:输出前天日期,格式形如2020-10-16。
输入样例:

2020 10 16

输出样例:

2020-10-14

输入样例:

2020 1 2

输出样例:

2019-12-31

输入样例:

2019 3 2

输出样例:

2019-2-28

1.1.1 数据处理:

数据表达:用了三个整形变量:year,month,day通过键盘输入三个数值,year可用于判断该题目中的闰年平年;month可用于判断year是否需要-1;day可用于判断month的-1或者不变。
数据处理:用到的表达式有标准输入输出语句,if——else判断语句,通过上述的year,month,![](https://img2020.cnblogs.com/blog/2179933/202011/2179933-20201126210512953-703727589.jpg)
day进行判断各该输出的数值。
**函数参数:该题仅含有一个主函数,不含被调函数**

1.1.2实验代码截图:

1.1.3 造测试数据:

输入数据 输出数据 说明
2020 11 15 2020-11-13 闰年,天数>2
2020 1 1 2019-12-30 闰年,天数<2
2019 5 1 2019-4-29 平年,天数<2
2019 4 21 2019-4-19 平年,天数>2

1.1.4 PTA提交列表及说明:

1.部分正确:因为代码数过于长,之前写代码的时候没有注意到格式问题,导致后面的很多括号对应出错,于是if else的嵌套就有判断失误问题出现,于是导致了部分正确,最后再看了一遍格式以及括号的对应问题后解决了该问题。

1.2 题目2:7-3 计算天数

1.2.1数据处理:

数据表达:运用了16个整形变量,其中13个是表示每个月天数的变量,另外三个用来表示年月日的值。每个月的数值直接赋值,年月日通过键盘输入进程序。
数据处理:该程序包含标准输入输出函数,以及if—else语句和switch语句的嵌套使用,通过if else的判断语句判断该年是平年还是闰年。
**函数参数:该代码只含一个主函数,未涉及被调函数。**

1.2.2实验代码截图:

1.2.3 造测试数据:

输入数据 输出数据 说明
2020/02/07 38 闰年,月数<=2
2020/04/21 112 闰年,月数>2
2019/02/07 38 平年,月数<=2
2019/04/21 111 平年,月数<=2
1.2.4 PTA提交列表及说明:

部分正确1:第一次运行时忘记判定闰年,导致闰年的月份大于2时会少一天
部分正确2:第二次运行时输出判断重复,判断的一些小问题导致输出语句输出了2次

2.代码互评:

同学代码截图1:


自己代码截图1:

  • 1.该同学是用abcx表示年月日的数值,并且直接在switch语句中加上每个月的数值,而我是用y m d(year month day的缩写)表示年月日,同时将每个月的数值表示出来
  • 2.该同学直接用switch判断出x的天数,再判断是平年还是闰年,如果是平年就用x-1,比我用两大段switch的代码简单太多

同学代码截图2:


自己代码截图2:


  • 1.该同学代码与我的代码截然不同,我的是用纯粹的if——else的判断语句,而该同学用的是switch的判断,显然比我的代码更简单明智
  • 2.该同学运用的是a,b,c,x,y来表示年月日的数值,而我是用year month day来表示,让人见名知意。

3.学习总结:

3.1 学习进度条:

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
8 29h 508 输入、输出函数 除法的运算法则
9 34h 603 其他类型的函数如整型浮点型 判断语句if else
10 31h 563 for循环、if else判断 近期刚了解到的数组问题
11 30h 686 for循环的嵌套使用、调用自己定义的函数 调用自己定义的函数时还不够熟练
12 29h 664 判断语句的进一步学习以及自学while循环与数组 判断语句的嵌套以及while循环不够熟练,数组有些迷茫
13 25h 721 判断语句switch switch判断语句运用还不够熟练

3.2 累积代码行和博客字数:

3.3 学习内容总结和感悟:
3.3.1 学习内容总结:

3.3.2 学习体会:

本周学习到了一个新知识点———switch判断语句其用法为:

switch(条件){
case a:执行语句;break;
case b:执行语句;break;
case c:执行语句;break;
case n:执行语句;break;
default:执行条件;break;
}

本周的学习体会:对于本周学习到的switch判断语句其实一开始我是拒绝的,他麻烦复杂,每条条件都要输入一次case 一次执行 一次break异常麻烦,但是不久的今天,我看到了其他几位同学的优秀代码作业(某位不愿透露姓名的刘日华同学),同一份PTA作业我的代码是70行,他的代码是40行(此处省略3000字),他的switch语句运用的如鱼得水,真的令人刮目相待,所以还是我的经验太少,思维太慢,所以——存在即合理,对于任何的代码的存在,它一定有他的优势之处,因此,不要在刚学到某一样新事物时就急着否定它!!
然后就到了日常吐槽环节:是琛哥良心发现了吗嘿嘿,最近几周的作业都是完成PTA的作业然后挑几道题目做,表示just so so啦~我已经完全适应这样的作业强度啦,就这就这??就这点作业就想打败李大乐了?不可能!!!
又到了每周惯例的逼逼赖赖时间:这周听说自己的方法侥幸被邹老师和周老师两位行业巨头注意到了,一开始我是非常飘飘然的,但是细细一想这是两位老师在给我机会表现自己,就慢慢平静下来了,其实我分享的也不是什么非常特别的方法,对于每一位同学大家应该也都有自己的学习方法,但是每个人自己的学习方法一定是对于自己来说暂时效率最高的方法,对于其他人的优秀方法我们应该学会聆听,尝试去试试,说不定可以让自己提升更快。
最后的最后祝愿同学们在最近的考试中:春风得意马蹄疾,一日看尽长安花

posted on 2020-11-26 23:44  handsome李大乐  阅读(154)  评论(13编辑  收藏  举报