[C语言][PTA] 7-2 然后是几点

By | September 5, 2019

这是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 Navin Xu. All rights reserved.
*   
*   Filename    :782-7-2.c
*   Author      :Navin Xu
*   E-Mail      :admin@navinxu.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;
}

鉴于本人的相关知识储备以及能力有限,本博客的观点和描述如有错漏或是有考虑不周到的地方还请多多包涵,也欢迎指正,一起学习,共同进步。如果本文对您有帮助,而且让您觉得值得为内容付费,那么就请赞助(打赏)一下本人,这不强制。打赏支持微信支付,方法是使劲地戳一下下方的“打赏”按钮,然后得到微信收款的二维码,再用微信支付扫一下,就像买菜那样。祝好!