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 学习体会

  1. 这周学习了if-else和for语句的嵌套使用。还学习了字符型变量,这是不同于之前学习的整型变量和浮点型变量,还有逻辑运算符。
  2. 对于if和for这部分内容有点像是之前内容的延伸,感觉掌握的还可以,但是对于字符型变量就不是很懂,只知道类型名char,用%c来接受数据不能明白它是干什莫用的。逻辑运算符之前也接触过,内容 简单(&&表示并且、||表示或者、!表示非),但是在程序中就有点看不懂了,就像这次PTA作业的填空题,有几个题不是很明白它的意思。
  3. 经过这几周的学习,感觉学的越多就越难掌握,学习内容也在不断加深难度,自己付出的还是不够。现在不仅要加强代码行数了还要增强自己的逻辑思维能力,在做题的时候就感觉到思考的重要性,学而不思则罔啊
原文地址:https://www.cnblogs.com/wangxiana/p/11774960.html