C语言I博客作业06

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11555
我在这个课程的目标是 熟悉多分支结构switch语句的使用,学习他人优秀的解题方法
这个作业在那个具体方面帮助我实现目标 做PTA上的作业,互评作业
参考文献 C语言程序设计

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

1.1 计算天数

本题要求编写程序计算某年某月某日是该年中的第几天。

输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式:
在一行输出日期是该年中的第几天。

输入样例1:
2009/03/02
输出样例1:
61
输入样例2:
2000/03/02
输出样例2:
62

1.1.1数据处理

数据表达:所用变量:year,month,day,a,b,c,y;这些变量的值的来源:year,month,day是用户输入的值;a,b,c分别是year/4,year/100,year/400取余的值,y是根据a,b,c,month的 
值以及表达式得出来的;类型:整型(int)。
数据处理:数据用到的表达式:a = year % 4,b = year % 100,c = year % 400,:y = day,y = 31 + day,y = 60 + day,y = 91 + day,y = 121 + day,y = 152 + day,y = 
182 + day,y = 213 + day,y = 244 + day,y = 274 + day,case 11:y = 305 + day,y = 335 + day,y = day,y = 31 + day,y = 59 + day,y = 90 + day,y = 120 + day,y 
= 151 + day,y = 181 + day,y = 212 + day,y = 243 + day,y = 273 + day,y = 304 + day,y = 334 + day;流程结构:选择结构。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
2009/03/02 61 该年年份能被4整除,不能被100和400整除
2000/03/02 62 该年年份能被4,100和400整除
2006/05/05 125 该年年份不能被4,100和400整除
2020/11/25 330 该年年份能被4整除,不能被100和400整除
1900/06/09 160 该年年份能被4和100整除,不能被400整除

1.1.4 PTA提交列表及说明

1.编译错误:switch语句中case后的符号错误;
  解决办法:刚开始还没发现,仔细看书上的switch语句后发现case后的符号不是‘ ; ’而是‘ : ’,改完后又出现了部分错误;
2.部分错误:if语句的判断符号错误;
  解决办法:仔细检查一遍后,发现在判断相等时,将‘==’写成了‘=’,后将其改正过来了,提交后答案显示正确。

1.2 多分支表达-倍数问题

1.2.1 数据处理

数据表达:所用变量:A,x,y,z,a;这些变量的值的来源:A是用户输入的值;x,y,z分别是A/3,A/5,A/15取余的值;类型:整型(int)。
数据处理:数据用到的表达式:x = A % 3,y = A % 5,z = A % 15;流程结构:选择结构。

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
18 3 该数是3的倍数但不是5的倍数
20 2 该数是5的倍数但不是的倍数
13 13 该数小于15,且既不是3的倍数也不是5的倍数
26 11 该数大于15,且既不是3的倍数也不是5的倍数
-30 (没有任何输出) 该数不是正整数,且既是3的倍数又是5的倍数

1.2.4 PTA提交列表及说明

1.部分错误:在if语句中多了符号;
  解决办法:这个错误找了很久,最后却发现是一个很小的错误,if后的括号里多打了引号,当时因为那个括号里的和其他括号里的颜色标记不同就感觉奇怪,看了很久后才发现了问题, 
  改正后,显示答案正确。

2.代码互评(5分)

尹志成同学代码截图

郑九龙同学代码截图

自己代码截图

1.尹志成同学解题时先是运用switch语句,再运用if-else语句来解题的,使后半部分简便了许多,而我的大部分使用switch语句,表达式太多;
2.郑九龙同学运用了if-else语句来解题,他所写的使代码简便了许多,在考虑问题方面也更全面,我所写的明显长了一大串;
3.我运用了if-else语句和switch语句来解题的,我所写的有一部分再改变一下或换一种方式解题应该可以更简便些。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第三周 4天 156 for语句 在综合表达式中,不知道为什么不能用"[ ]"
第四周 2天 169 函数的定义和调用 函数的定义和调用的格式不太懂
第五周 3天 192 分支结构if-else语句和字符型(char) 有同学作业中运用到的没学过的知识不太理解
第六周 3天 278 选择结构中的switch语句 解题时不能很快判断出用if-else语句好些还是用switch语句好些

3.2 累积代码行和博客字数(5分)

时间 博客字数 代码行数
第一周 638 12
第二周 562 97
第三周 2058 156
第四周 1737 169
第五周 2520 192
第六周 1780 278

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

3.3.1 学习内容总结

3.3.2 学习体会

1、这周学了选择结构中的switch语句,刚开始在做题的时候使用时,容易将case后的冒号打成分号;
2、在写代码的时候,有几个地方容易出错,比如在判断时将==打成= ;
3、在之后的学习过程中,吸取之前出现的错误,多练多想,多学习他人优秀的解题方法。

原文地址:https://www.cnblogs.com/zhge/p/14034121.html