17 计算火车运行时间

#include<stdio.h>
#include<math.h>
int main()
{
        int starttime;
        int arrivetime;
        int min,hour;
    scanf("%d %d", &starttime, &arrivetime);

    min = arrivetime%100 - starttime%100;
    hour = arrivetime/100 - starttime/100;
    hour = fabs(hour);

    if(min < 0)
    {
        min = min+60;
        hour = hour -1;
    }
printf("%02d:%02d",hour,min);
    return 0;
}

### 火车运行时间计算方法 为了实现火车运行时间计算,可以采用C语言中的基本逻辑运算来完成。以下是详细的解决方案: #### 输入解析 输入数据由两个时间组成,分别为出发时间和到达时间,格式为`HH:MM HH:MM`。可以通过字符串处理将其转换成整数形式以便于后续计算。 #### 时间差计算 将时间拆分为小时和分钟两部分进行独立计算: - 首先提取每段时间的小时和分钟部分。 - 使用简单的减法操作得到初步的时间差。 - 如果分钟部分的结果小于零,则需调整小时部分并修正分钟值。 最终输出结果应遵循指定格式 `小时:分钟` 并保持两位宽度显示。 ```c #include <stdio.h> int main() { int start_time, arrive_time; // 输入起始与结束时间 scanf("%d:%d", &start_time, &arrive_time); // 提取小时和分钟 int start_hour = start_time / 100; int start_minute = start_time % 100; int arrive_hour = arrive_time / 100; int arrive_minute = arrive_time % 100; // 计算时间差 int diff_hour = arrive_hour - start_hour; int diff_minute = arrive_minute - start_minute; if (diff_minute < 0) { diff_minute += 60; // 调整分钟不足的情况 diff_hour -= 1; // 减少一小时作为补偿 } // 输出结果 printf("%02d:%02d\n", diff_hour, diff_minute); return 0; } ``` 上述代码实现了从标准输入读取出发和到达时间,并按照给定规则计算旅途所需时间的功能[^1]。此算法假设所有输入均位于同一天之内,因此无需考虑跨日情况下的特殊处理。 #### 注意事项 对于边界条件如刚好跨越午夜或者输入错误等情况未在此处特别讨论,实际应用中可能还需要增加额外验证机制确保程序健壮性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值