一、表格
问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9885 |
我在这个课程的目标是 | 深入了解C语言,争取掌握更多的数据类型及结构,熟练地编译有效代码 |
这个作业在那个具体方面帮助我实现目标 | 熟练掌握if语句for语句的嵌套,加强解决问题的逻辑思维 |
参考文献 | C语言程序设计、百度 |
二、本周作业
1. PTA实验作业
1.1 题目名1
7-3 计算火车运行时间 (15 分)
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
输入格式:
输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。
输出格式:
在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。
输入样例:
1201 1530
输出样例:
03:29
1.1.1 数据处理
数据表达:使用了8个整型变量int(m,n,a,b,c,d,x,y),其中m,n是输入的两个四位整数、a,b分别是第一个整数的前两位和后两位、c,d是第二个整数的前两位和后两位、x,y分别是这两个整数前两位和后两位之差。
数据处理:用到了if-else结构、表达式用到了赋值运算符、关系运算符。
1.1.2 实验代码截图
1.1.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
1210 1513 | 03:29 | 题目数据 |
0559 1020 | 04:21 | 需要借位 |
0025 0054 | 00:29 | 小时为0 |
1.1.4 PTA提交列表及说明
部分正确:没有考虑到分钟借位的问题。
部分正确:分钟借位时,表达式没写好,分钟与小时之间进制为60。
部分正确:没有用到%02d,导致没有相减为个位数时没有在前一位补0。
1.2 题目名2
7-5 输出闰年 (15 分)
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
输入样例1:
2048
输出样例1:
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
输入样例2:
2000
输出样例2:
Invalid year!
1.2.1 数据处理
数据表达:整型变量int(n,i,count)、其中n是输入的年份、i是用来控制循环的,给其赋值为2001、count代表符合循环条件的总数,初始值赋为0。
数据处理:这里运用了for语句嵌套if-else语句、表达式用了赋值运算符、关系运算符、逻辑运算符。
1.2.2 实验代码截图
1.2.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
2000 | Invalid year! | 非21世纪 |
2003 | None | 不存在闰年 |
2010 | 2004 2008 | 存在闰年 |
1.2.4 PTA提交列表及说明
部分正确:没有用\n,导致输出年份成一行出来,而没有分行排列。
2. 代码互评
同学代码①
自己代码①
- 从代码行数上看,同学代码很复杂,我的比较简单。
- 虽然该同学代码很复杂,但是他是使用了上周学习的自定义函数,虽然在这道题上没有必要,但这样复习了学过的知识。
- 可以看出该同学是有函数的意识的,这点是我所没有的。要向这位同学学习。
同学代码(陈艺洋)②
自己代码②
- 同学代码比较简单,我的代码比同学代码都多了一步。
- 同学的代码在输出上多了一个变量,她设了x,y两个变量,我的直接用总数减count。
- 我的代码在最后加了一个输入总数为0的情况,同学却没有。但是她用了else来表示另一种,我的直接省略了else。
3. 学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较困惑的问题 |
---|---|---|---|---|
1/9-21 | 2天 | 30 | 初步接触编程,学习编译Hello,World! | 无 |
2/9-30 | 2天 | 20 | 学习了浮点型变量,及温度转换 | 无 |
3/9-15 | 3天 | 76 | 使用分段函数了解到if-else语句以及数据类型 | 对于定义数值还是不太清楚 |
4/10-16 | 3天 | 100 | for语句 | for循环进行中不清楚循环的细节 |
5/10-24 | 3 天 | 155 | 学习到了自定义函数 | 自定义函数的具体定义过程,实参形参有些迷惑 |
6/11-1 | 3天 | 250 | 学习使用if-else与for语句的嵌套,初步了解了字符型变量 | 对于字符型变量不是很懂,不明白其作用 |
3.2 累计代码行和博客字数
3.3 学习内容总结
3.4 学习体会
- 这周学习了if-else和for语句的嵌套使用。还学习了字符型变量,这是不同于之前学习的整型变量和浮点型变量,还有逻辑运算符。
- 对于if和for这部分内容有点像是之前内容的延伸,感觉掌握的还可以,但是对于字符型变量就不是很懂,只知道类型名char,用%c来接受数据不能明白它是干什莫用的。逻辑运算符之前也接触过,内容 简单(&&表示并且、||表示或者、!表示非),但是在程序中就有点看不懂了,就像这次PTA作业的填空题,有几个题不是很明白它的意思。
- 经过这几周的学习,感觉学的越多就越难掌握,学习内容也在不断加深难度,自己付出的还是不够。现在不仅要加强代码行数了还要增强自己的逻辑思维能力,在做题的时候就感觉到思考的重要性,学而不思则罔啊。