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-帮助文档的说明
- c语言中"->"和"."的区别
对于c语言中"->"和"."的区别总结如下: 1.A.B则A为对象或者结构体: 2.A->B则A为指针,->是成员提取,A->B是提取A ...
- JS实现 Tab栏切换案例
要求:当鼠标点击上面相应的选项卡(tab),下面页面的内容也随之而改变. 结构分析: 全部的内容都放到一个大的盒子里面,盒子里面又可以分为上面和下面两个盒子. 上面的盒子放了 5个li,装着5个小的选 ...
- border-box与content-box的区别
㈠box-sizing 属性 ⑴box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素. ⑵语法:box-sizing: content-box|border-box|inherit; ...
- 15、Qt 样式表
Qt的样式表类似HTML的层叠式样式表CSS,可以为一个独立的子部件.整个窗口.整个应用程序指定一种外表样式. 样式表功能:1.优化外观.2.实现某些动作,如鼠标在图片上,图片切换. 格式:QWidg ...
- Python3学习笔记(十四):可迭代对象、迭代器和生成器
记得在刚开始学Python的时候,看到可迭代对象(iterable).迭代器(iterator)和生成器(generator)这三个名词时,完全懵逼了,根本就不知道是啥意识.现在以自己的理解来详解下这 ...
- source和resource的区别
idea中,有时新导入的工程会出现 类的标识为红色的J,此时为无效,并且该类不能被编译,这是因为该类所在的文件夹java没有被标记为Sources Root,而放置配置文件的resources文件夹没 ...
- JavaWeb_(SSH论坛)_三、用户模块
基于SSH框架的小型论坛项目 一.项目入门 传送门 二.框架整合 传送门 三.用户模块 传送门 四.页面显示 传送门 五.帖子模块 传送门 六.点赞模块 传送门 七.辅助模块 传送门 User表 id ...
- JSP中解决session超时跳转到登陆页面并跳出iframe框架或局部区域的方法
当session会话超时,页面请求被重新定位到了登陆界面.但登录界面在iframe中的解决方案:在登录页面中加入下面的js代码: <script type="text/javascri ...
- sudo密码一直出错
Linux默认是没有将用户添加到sudoers列表中的,需要root手动将账户添加到sudoers列表中,才能让普通账户执行sudo命令. 所以要将用户添加到sudoers组中,才能执行sudo命令, ...