C语言I博客作业06
1.作业头
| 这个作业属于那个课程 | C语言程序设计II |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11557 |
| 我在这个课程的目标是 | 熟练使用多分支结构和switch |
| 这个作业在那个具体方面帮助我实现目标 | 作业中多次使用switch和多分支结构 |
| 参考文献 | C Primer Plus(第6版中文版) |
1.1 计算天数(15分)
题目内容描述:本题要求编写程序计算某年某月某日是该年中的第几天。
1.1.1数据处理
数据表达:整数型变量 年份y,月份m,日d,天数z;
数据处理:for循环结构,if-else结构。
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 2020/10/2 | 276 | 闰年 |
| 2019/3/8 | 67 | 平年 |
| 2002/12/31 | 365 | 平年 |
| 2004/3/5 | 65 | 闰年 |
1.1.4 PTA提交列表及说明

1.开始时并不清楚闰年和平年该怎么用c语言处理,在书54页中找到了答案。
2.没考虑1月份的情况,后来经过同学指导发现并解决了该问题。
1.2 前天是哪天 (20分)
题目内容描述:本题目要求读入年、月、日,然后判断前天日期。
1.2.1 数据处理
数据表达:整数型变量 年份y,月份m,日期d。
数据处理:if-else和switch结构,例如:
if(d<=2){
switch(m){
case 1:printf("%d-%d-%d",y-1,m+11,d+29);break;
case 2:printf("%d-%d-%d",y,m-1,d+29);break;
case 3:if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0){
printf("%d-%d-%d",y,m-1,d+27);break;
}else {
printf("%d-%d-%d",y,m-1,d+26);break;
}
1.2.2实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 2020 10 16 | 2020 10 14 | 正常月份 |
| 2020 3 2 | 2020 2 29 | 闰年2月 |
| 2019 3 1 | 2019 2 28 | 平年2月 |
| 2002 1 1 | 2001 12 30 | 跨年份输出 |
1.2.4 PTA提交列表及说明

1.答案错误:在月份为3分情况讨论时忘记加上break。
2.代码互评(5分)
同学代码


我的代码

1.相对第二个同学的代码我和黄泽香的代码使用了if-else和for循环结构,而他使用switch结构。
2.我的代码和黄泽香大同小异,他是先判断是否是闰年,我与他相反。
3.学习总结(15分)
3.1 学习进度条(5分)

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

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

3.3.2 学习体会
1.新的一周学了新的知识例如switch结构,在听一节课的情况下远远不能掌握,要自己在课外多花时间。
2.遇到看不懂的名词代码可以多查询。
3,要学会理解知识,相信问题万变不离其宗。

浙公网安备 33010602011771号