PAT7-2然后是几点 分钟小于0,输出不满4位且小时是0。

该文章是一个关于解决编程问题的说明,特别是处理PAT(PProgrammingAssessmentTest)中的时间计算。程序将小时和分钟分开,转换为总分钟数,加上流逝时间后重新转化为小时和分钟。需要注意小时为0时的特殊输出格式和防止分钟值变为负数的情况。
摘要由CSDN通过智能技术生成

菜鸡刷PAT

7-2然后是几点

#include<stdio.h>
int main(){
    int t=0,d=0,h,m;
    scanf("%d %d",&t,&d);
    h=t/100;
    m=t%100;
    m=d+m+h*60;//全部转化为分钟
    h=m/60;
    m=m%60;
    if(h==0)
        printf("0%d",h*100+m);//保证如果小时为0时有三位
    else 
        printf("%d",h*100+m);
    return 0;
}

思路

分成小时h和分钟m两部分,统一转化为分钟加上流逝的时间(由题目保证起始时间和终止时间在同一天内,可以保证最后总分钟数一定大于等于0),再将总分钟数转化为小时和分钟。

重点

第二个测试点,当小时数为0时,需要先输出一个0在加上后面的分钟数。
第三个测试点,分钟小于0,输出不满4位且小时是0。这个问题很容易被忽略。当输入为110 -20 可能出现的问题,即刚开始考虑将小时和分钟分开计算,最后加在一起,则会导致出现负分钟情况导致错误不通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值