第三章练习

题目描述】

有时候人们用3~4位数字表示一个时间,比如1106表示11点零6分,530表示5点30。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的3~4位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为3~4位数字(如530,1130)。当小时为个位数时,没有前导的零,即5点30分表示为530,但是分钟为个位数时,必须有前导的零,即5点3分应表示为503,5点18分表示为518。注意,第二个数字表示的分钟数可能超过60,也可能是负数。

【输入】

输入在一行中给出2个整数,分别是3~4位数字表示的起始时间与流逝的分钟数,其间以空格分隔。

【输出】

终止时间(例如530,1130)。题目保证起始时间和终止时间在同一天内。提示:有前导0的分钟可以用“%02d”输出。

【样例输入】

1120 110↙

【样例输出】

1310
#include <stdio.h>
#include <stdlib.h>
//#define PI 1.609
int main()
{
    int a,b,h,m,tot,h1,h2;
    scanf("%d%d",&a,&b);
    if(b>=0){
    h=(b-(b%60))/60;
    h1=h+a/100;
    m=a%100;
    tot=(m+b-h*60)%60;
    h2=(m+b-h*60)/60;
    printf("%d%02d",h1+h2,tot);
    }
    else {
        int b1;
        b1=-b;
        h=(b1-(b1%60))/60;
        if(a%100>=b1%60){
            printf("%d%02d",a/100-h,(a%100)-(b1%60));
        }
        else{
            h1=a/100-h-1;
            m=60-((b1%60)-(a%100));
            printf("%d%02d",h1,m);
        }
    }
    //printf("%d",m);
    return 0;
}

 

posted @ 2022-10-01 20:23  aquAAA  阅读(108)  评论(0编辑  收藏  举报