C语言:计算火车运行时间.2021-07-13

实验2-2-9 计算火车运行时间 (15 分)

本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。

输入格式:

输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。

输出格式:

在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。

输入样例:

1201 1530

输出样例:

03:29

参考答案 

注意  分钟数相减结果  的边界范围(判断顺序). 易错

#include<stdio.h>
int main(){
    int a,b,hh,mm,ashi,afen,bshi,bfen;
    scanf("%d %d",&a,&b);

    ashi=a/100;
	afen=a%100;
	bshi=b/100;
	bfen=b%100;

	mm=bfen-afen;

	if(ashi==bshi&&afen==bfen) printf("%02d:%02d",0,0);
	
	else if(mm<0){
		hh=bshi-ashi-1;
		mm=60+mm;
		printf("%02d:%02d",hh,mm);
	}
    else if(mm<60) printf("%02d:%02d",bshi-ashi,mm);
        
    
}

### 回答1: 本题要求编写程序,根据输入的火车出发时间到达时间计算整个旅途所用时间。 输入格式: 输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车出发时间到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),中间没有冒号。 输出格式: 在一行中输出该旅程所用时间,格式为“hh:mm”,其中hh表示小时数,mm表示分钟数。 注意: 如果出发时间晚于到达时间,则认为到达时间是第二天的时间。 例如: 输入: 1201 153 输出: 3:29 ### 回答2: 本题要求编写程序计算火车出发到达所需要的时间。在输入格式中,我们需要两个4位正整数,并且每个时间的格式为2位小时数(00-23)和2位分钟数(00-59)。我们可以通过字符串的形式读取这两个整数,并用字符串中的字符转换为整数,将其转换为小时和分钟的形式。然后我们可以计算出起飞和到达时间的总分钟数,再将其相减,得到两个时间的差。最后我们可以将差值转换为小时和分钟的形式,并输出到屏幕上。 具体的程序实现如下: 输入部分: ``` start, end = input().split() # 读取输入 start_hour, start_minute = int(start[:2]), int(start[2:]) # 取出小时和分钟 end_hour, end_minute = int(end[:2]), int(end[2:]) # 取出小时和分钟 ``` 计算两个时间的差: ``` total_start_time = start_hour*60 + start_minute # 起飞时间的总分钟数 total_end_time = end_hour*60 + end_minute # 到达时间的总分钟数 diff_in_minutes = total_end_time - total_start_time # 两个时间的差 ``` 将差值转换为小时和分钟的形式: ``` diff_in_hours = diff_in_minutes // 60 # 取商,得到小时数 diff_in_minutes %= 60 # 取余,得到分钟数 ``` 最后输出结果: ``` print("{:02d}{:02d}".format(diff_in_hours, diff_in_minutes)) # 输出时间 ``` 这样,我们就完成了程序的编写。完整代码如下: ### 回答3: 题目要求编写程序计算火车出发到达所需要的时间。输入格式为两个4位正整数,中间以空格分隔,表示火车出发时间到达时间时间格式为2位小时数(00-23)和2位分钟数(00-59)。需要注意的是,到达时间可以是隔天的时间,即到达时间小于出发时间。 为了编写该程序,我们需要对时间进行计算。我们可以将时间转换成分来计算。即:时间 = 小时数 × 60 + 分钟数。然后计算火车出发到达所用时间,并将其转换成小时和分钟输出。 我们可以使用Python编写这个程序,实现过程如下: ```python start_time, end_time = input().split() # 输入出发时间到达时间 # 将时间转换成分 start_minute = int(start_time[:2]) * 60 + int(start_time[2:]) end_minute = int(end_time[:2]) * 60 + int(end_time[2:]) # 计算火车出发到达所用时间 total_minute = end_minute - start_minute if total_minute < 0: # 如果到达时间是隔天的时间 total_minute += 24 * 60 # 将时间转换成小时和分钟输出 hour = total_minute // 60 minute = total_minute % 60 print('{:02d}:{:02d}'.format(hour, minute)) ``` 以上程序首先读入出发时间到达时间,并将其转换成分钟。然后计算火车出发到达所用时间,如果到达时间是隔天的时间,要加上24小时。最后将时间转换成小时和分钟输出,其中`{:02d}`表示输出两位数,不足用0填充。 需要注意的是,输入的两个数不一定是按照时间顺序输入的,即到达时间可以比出发时间早,这种情况下需要加上24小时再计算时间差。同时,输出的时间中小时数也需要用两位数表示,因此要用`{:02d}`格式化输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mklpo147

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值