C语言博客作业06
一、表格
| 问题 | 答案 |
|---|---|
| 这个作业属于那个课程 | 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作业的填空题,有几个题不是很明白它的意思。
- 经过这几周的学习,感觉学的越多就越难掌握,学习内容也在不断加深难度,自己付出的还是不够。现在不仅要加强代码行数了还要增强自己的逻辑思维能力,在做题的时候就感觉到思考的重要性,学而不思则罔啊。
C语言博客作业06的更多相关文章
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
- C语言|博客作业06
这个作业属于哪个课程 C语言程序设计II 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9885 我在这个课程的 ...
- C语言Ⅰ博客作业06
这个作业属于哪个课程 C语言程序设计Ⅰ 这个作业要求在哪里 熟练掌握多分支结构,字符型数据类型和逻辑运算符 我在这个课程的目标是 https://www.cnblogs.com/tongyingjun ...
- C语言l博客作业06
C语言l博客作业06 问题 回答 这个作业属于哪个课程 C语言程序设计ll 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homew ...
- C语言博客作业6---结构体&文件
C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...
- C语言博客作业5--指针
C语言博客作业5--指针 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里 ...
- C语言博客作业4--数组
C语言博客作业4--数组 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言博客作业3--函数
C语言博客作业3--函数 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言|博客作业10
问题 回答 C语言 博客作业10 这个作业要求在哪里 作业要求 我在这个课程的目标是 熟练循环语句的用法 这个作业在哪个具体方面帮助我实现目标 pta作业 参考文献 <C语言程序设计> 1 ...
随机推荐
- qt5--列表控件QListWidget
需要 #include <QListWidget> #include <QListWidgetItem> 列表控件可以让我们以列表形式呈现内容,是界面 ...
- 【leetcode】1233. Remove Sub-Folders from the Filesystem
题目如下: Given a list of folders, remove all sub-folders in those folders and return in any order the f ...
- 命令行执行while语句
while true;do echo hello world;sleep 1;done
- Spring Boot 之 Profile --快速搞定多环境使用与切换
Spring Profile是Spring3引入的概念,主要用在项目多环境运行的情况下,通过激活方式实现多环境切换,省去多环境切换时配置参数和文件的修改,并且Spring profile提供了多种激活 ...
- Qt修改图片的背景色及设置背景色为透明的方法
先上干货. Qt下修改图片背景色的方法: 方法一: QPixmap CKnitWidget::ChangeImageColor(QPixmap sourcePixmap, QColor origCol ...
- OpenCascade建模:构建圆环API--BRepPrimAPI_MakeTortus()
构建圆环API--BRepPrimAPI_MakeTortus() 函数语法: BRepPrimAPI_MakeTortus( const Standard_Real R1, const Standa ...
- #4 div1E Parentheses 括号匹配
E - Parentheses Time Limit:2000MS Memory Limit:131072KB 64bit IO Format:%lld & %llu Subm ...
- 洛谷 P2820 局域网x
题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内的连接形成了回路,我们知道如果局域网形成回路那么数据将不停的在回路内传输,造成网络卡的现象.因为连 ...
- Linux 简单打印日志(二)
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> //# ...
- linux环境下写C++操作mysql(一)
/***************** connect.cpp g++ connect.cpp -o connect -I /usr/include/mysql/ -L /usr/lib/mysql/ ...