c语言 求24小时制时间间隔

#include <stdio.h>

int main()
{
    int a1, b1, c1, a2, b2, c2;
    int s1, s2, s3;
    int a3, b3, c3;

    scanf("%d:%d:%d", &a1, &b1, &c1);
    scanf("%d:%d:%d", &a2, &b2, &c2);

    s1 = a1 * 3600 + b1 * 60 + c1;
    s2 = a2 * 3600 + b2 * 60 + c2;

    if (s1 > s2)
        s3 = s1 - s2;

    else
        s3 = s2 - s1;

    a3 = s3 / 3600;
    b3 = (s3 - a3 * 3600) / 60;
    c3 = s3 - a3 * 3600 - b3 * 60;

    printf("%02d:%02d:%02d", a3, b3, c3);

    return 0;
}

 代码没写注释,个人认为还是比较容易理解的。我的思路是将时间换算成秒再进行计算,这样可以省去各种繁杂的条件判断。

这里贴出另一个同学的思考方向,,,,也挺好的,对我来说要琢磨很久(笑), 所以我就去找另一个方法去了。链接如下。

时间差值 c语言_孤灯燃梦的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值