计算两个时间段的差值

计算两个时间段的差值

运行效果:
在这里插入图片描述
代码实现:

#include<stdio.h>

typedef struct {
	int h;	//	时
	int m;	//	分
	int s;	//	秒
}Time;

void fun(Time T[2], Time& diff)
{
	int sum_s[2] = { 0 };		
	for (int i = 0; i <= 1; i++) {	// 统一为秒数
		sum_s[i] = T[i].h * 60 * 60 + T[i].m * 60 + T[i].s;
	}

	// 时差
	int diff_s = sum_s[0] >= sum_s[1] ? (sum_s[0] - sum_s[1]) : (sum_s[1] - sum_s[0]);
	diff.h = diff_s / (60 * 60);

	// 分差
	diff_s = diff_s % (60 * 60);
	diff.m = diff_s / 60;

	// 秒差
	diff_s = diff_s % 60;
	diff.s = diff_s;
}



int main()
{
	Time T[2];
	Time diff = {0};

	// 输入
	for (int i = 0; i <= 1; i++) {
		printf("请输入第%d个时间的小时:",i+1);
		scanf_s("%d", &T[i].h);
		printf("请输入第%d个时间的分钟:",i+1);
		scanf_s("%d", &T[i].m);
		printf("请输入第%d个时间的秒数:",i+1);
		scanf_s("%d", &T[i].s);
	}

	// 计算时间差
	fun(T, diff);

	// 输出
	for (int i = 0; i <= 1; i++) {
		printf("第%d个时间:%02d时%02d分%02d秒\n", i+1,T[i].h,T[i].m,T[i].s);
	}
	printf("相差时间:%02d时%02d分%02d秒\n", diff.h, diff.m, diff.s);

    return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值