C语言程序设计CAP-第3章编程题-时间换算

文章目录

即将上大学了,准备上一些先修课,翁恺老师的课感觉非常不错,我是一个初学者,有啥错误大佬们别打我。

依照学术诚信条款,我保证此作业是本人独立完成的,未完成该项作业的同学请完成后再来。

此编程题的题目如下 

简单解析一下

第一眼印象是:题目真。其实题目没有那么复杂,它的意思是输入输出整数表示时间,而且输出是最简的,如803输出为3。要注意的是703应该输出的是2303,这也是本题所测验的地方(即提示:要注意跨日的计算),只要用个条件判断相减的数是否小于0,然后再做其他计算即可。

提取个位与十位数这两位数可以%100,提取千分位和百分位或仅提取百分位均可以/100。

UTC与BJT相差为8,可以很容易的写出代码。

一天有24小时,且在题目中明确了有效的输入范围是0到2359,所以很明确输入输出为24小时制,我们可以知道7-8+24即为23,所以算法可以很容易的写出来。那如果没有注意跨日的计算,就会出现以下情况,大于等于8小时的结果计算正常,而小于的则异常(以我这段代码来说)

正确做法

加一条if语句来加以约束

如图

可见问题已经解决,代码可为

结果

 

 

原文链接:,转发请注明来源!

发表评论