很多注释的 习题9-1 时间换算 φ(≧ω≦*)♪

点击查看题目

#define _CRT_SECURE_NO_WARNINGS//这行不用管,要不要无所谓,我不加这行scanf会报错
#include <stdio.h>
#include <math.h>

struct time {//新建time结构以及结构成员
	int hour;
	int min;
	int sed;
};
int main() {
	struct time t1, backtime;
	int addt;
	scanf("%d:%d:%d\n", &t1.hour, &t1.min, &t1.sed);
	scanf("%d", &addt);
	int total;
	total = t1.hour * 3600 + t1.min * 60 + t1.sed;//把输入的时间换算成秒
	total += addt;//加上输入的秒

	//然后判断现在的total是否>=24小时,24小时=86400秒

	

	while (total > 86399) {//这里你写>=86400应该也行
		total = total - 86400;//这里如果写86399,运行的时候会发现多了一秒
	}

	if (total / 3600 >= 1) {//3600秒是一小时,这里判断有没有到一小时
		backtime.hour = total / 3600;//求出一共有几个小时,这里取得是int,所以小数会自动忽略
	}
	else {
		backtime.hour = 0;//没到一小时就写0小时
	}

	int min = total % 3600;//同上,这里是分钟
	if (min/60 <= 60) {
		backtime.min = min / 60;
	}
	else {//同上
		backtime.min = 0;
	}

	backtime.sed = total - backtime.hour * 3600 - backtime.min * 60 ;
	//这里就是最后剩下的total,应为经过前面的判断,所以现在的total不可能>=60

	printf("%.2d:%.2d:%.2d", backtime.hour, backtime.min, backtime.sed);//.2是保持两位数的输出
	return 0;
}

有帮助的话给个赞呗 φ(≧ω≦*)♪

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值