| 这个作业属于那个课程 | C语言程序设计II |
| 这个作业要求在哪里 | C语言I博客作业06 |
| 我在这个课程的目标是 | 学会运用逻辑运算符和罗列逻辑表达式 |
| 这个作业在那个具体方面帮助我实现目标 | 完成老师布置的作业,在作业中领悟 |
| 参考文献 | 《C语言教材》 |
一、PTA实验作业

1.1输出闰年
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
输入样例1:

输出样例1:

输入样例2:

输出样例2:

1.1.1数据处理
数据处理:输入了三个整型int变量year,n,i,这些变量都是初始定义的;
数据表达:输入好初始数据后首先用if-else判定输入的数据是否满足21世纪的年份,符合则进行for循环和两个if-else判断语句求出所有21世纪中截止到此年份以来的所有闰年年份
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 2000 | Invalid year! | 2000年非21世纪的年份 |
| 2001 | None | 2000-2001年内没有闰年 |
| 2019 | 2004 2008 2012 2016 | 2000-2019内所有闰年 |
1.1.4 PTA提交列表及说明

提交列表说明:
PTA上面是一次性过的,但是在编译器里还是有一些错的。
编译错误:“,”打在“”里面了,没有起到作用,显示编译错误时旁边有红色框框提示,我检查了一遍发现了问题是这样的;
答案错误:输入2000进去,答案显示是None,调试了几次明白了是判断框有问题;
1.2 计算火车运行时间
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
输入格式:
输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。
输出格式:
在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。
输入样例:

输出样例:

1.2.1 数据处理
数据表达:定义了四个整型int变量h,m,depart,arrive;其中h,m通过表达式h=arrive/100-depart/100;m=arrive%100-depart%100;运算得出;而depart,arrive为初始输入;
数据处理: 输入初始值,通过表达式h=arrive/100-depart/100;m=arrive%100-depart%100;算出大致时间差,再用if-else判断语句通过 m=60+m;h=h-1;精准时间差。
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
| 1203 1500 | 02:57 | 火车运行时间为2小时57分 |
| 1200 1200 | 00:00 | 火车没有运行 |
| 1200 1100 | -1:00 | 违反物理规律 |
1.2.4 PTA提交列表及说明

提交列表说明:
编译错误:操作失误用了中文字符,通过编译错误的提示,对比了一下其他符号,中文字符有差异;
二、代码互评
同学(徐旖)代码互评

同学(柏朝晖)代码互评

我的代码

相同点:
徐同学的代码和柏同学的代码大致流程差不多,都是定义了五个整型int变量,一个浮点型double变量,我们仨结果都是用一个for循环和两个if判断语句;
由于我用的是float型而他俩用的是double型,由于题目原因差别不大,所以输出方式一致。
不同点:
我的代码用了四个整型int变量,他俩用了五个;
他们用的是浮点型double变量定义average,而我用了浮点型float变量来定义average;
我用了数组来运算,他们没用数组,而且他们的if判断还比我少了个else,可能我做了一些多余的操作;
我和徐同学的代码中的average表达式在输出栏那,而柏同学的average则是罗列出来的,意思差不多,但是柏同学的更通俗易懂.
三、学习总结
3.1 学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
| 第七周 | 10小时 | 132行 | 常用的数学函数,if-else语句 | 函数的运算问题 |
| 第八周 | 13小时 | 156行 | 学会运用for循环语句和知晓DevcC++调试 | 对于DevcC++还是不大会用 |
| 第九周 | 12小时 | 145行 | 学会了函数定义和调用函数 | 对于函数的返回,不是很理解 |
| 第十周 | 12小时 | 150行 | 了解了逻辑运算符和ASCII代码 | 记不住逻辑运算符的意思以及ASCII代码 |
3.2 累积代码行和博客字数
| 时间 | 博客字数 | 代码行数 |
|---|---|---|
| 第五周 | 464 | 0 |
| 第六周 | 1017 | 50 |
| 第七周 | 1638 | 185 |
| 第八周 | 2533 | 341 |
| 第九周 | 3421 | 520 |
| 第十周 | 4399 | 666 |

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

3.3.2 学习体会
学的东西越来越多,也越来越复杂,比如逻辑运算符,它的功能和用法必须自己用心记,在以后的学习中肯定有更多要记,做作业不仅仅只是单纯的写代码,还要不停地思考如何运行如何简短有效,总而言之,不能松懈,学软件就是要不停和计算机打交道,还得看自学。