这是PTA的基础题,题目地址:7-2 然后是几点 (侵删)
这是本人的实现,仅供参考, 请勿复制粘贴 !
7-2 然后是几点 (15 point(s))
有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。
读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负数。
输入格式:
输入在一行中给出2个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即5点30分表示为530;流逝的分钟数可能超过60,也可能是负数。
输出格式:
输出四位数字表示的终止时间。题目保证起始时间和终止时间在同一天内。
输入样例:
1120 110
输出样例:
1310
我的实现:
/*================================================================
* Copyright (C) 2019 程序知路. All rights reserved.
*
* Filename :782-7-2.c
* Author :程序知路
* E-Mail :admin@icxzl.com
* Create Date :2019年09月05日
* Description :
================================================================*/
#include <stdio.h>
int main(){
int time, elapse_time;
scanf("%d %d", &time, &elapse_time);
int minute = time % 100;
int hour_minute = (time - minute) / 100;
// 先转化为秒
int count_minute = hour_minute * 60 + minute;
//printf("%d %d\n", minute, hour_minute);
//printf("%d\n", count_minute);
int elapse_count_minute = count_minute + elapse_time;
int hour = elapse_count_minute / 60;
if (elapse_count_minute >= 70)
printf("%d", hour * 100 + elapse_count_minute - hour * 60);
else if (elapse_count_minute >= 60)
printf("%d0%d", hour, elapse_count_minute - hour * 60);
else if (elapse_count_minute >= 10)
printf("00%d", elapse_count_minute % 60);
else
printf("00%d", elapse_count_minute % 60);
//printf("\n");
return 0;
}
鉴于本人的相关知识储备以及能力有限,本博客的观点和描述如有错漏或是有考虑不周到的地方还请多多包涵,欢迎互相探讨,一起学习,共同进步。
本文章可以转载,但是需要说明来源出处!
本文使用的部分图片来源于网上,若是侵权,请与本文作者联系删除: admin@icxzl.com