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、在之后的学习过程中,吸取之前出现的错误,多练多想,多学习他人优秀的解题方法。