计算火车的行驶时间--C语言

文章讲述了如何使用C语言处理输入的两个四位数时间,将其拆分为小时和分钟,并确保正确格式化输出,包括在不足时补零。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目如下:

 自己的答案如下:

#include<stdio.h>

int main ()
{
	int n,a,b,c,d;
	scanf("%d",&n);//输入第一个时间 
	a=n%10+(n%100-n%10);  //第一个时间的后两位数字 ,分 
	b=n/100;    //第一个时间的前两位数字 时 
	int m;
	scanf("%d",&m);    //输入第二个时间 
	c=m%10+(m%100-m%10);  //第二个时间的后两位数字 分 
	d=m/100;    //第二个时间的前两位数字   时 
	if(c>=a)
		printf("%02d:%02d",d-b,c-a);
	else
		printf("%02d:%02d",d-b-1,60-(a-c));
	return 0;
 }

题目分析:这题的思路其实不难想到,输入两个四位数,我们将一个四位数拆分成两个两位数处理,例如1201,可以拆分为 12 与 01,而12又代表小时,01可以代表分钟,将两个四位数都这样处理,就可以得到两个四位数分别的小时与分,再对得到的时与分进行计算即可。

写代码时遇到的问题:

        题目要求输出的格式是这样的

        但自己写出来的是这样的

   不知道如何在前面补零,在网上查资料才发现应该要这样写

"%02d" 表示输出的整数占两个字节的空间
不足的部分补 0
如果超出 那么按照实际值输出
比如 用 %02d 输出
1 结果为 01
10 结果为 10
123 结果为 123

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值