//时间显示
#include <stdio.h>
#include <stdlib.h>
void time(long long t)
{
long h = t / 3600000;
t = t - h * 3600000;
long min = t / 60000;
t = t - min * 60000;
long s = t / 1000;
printf("%02d:%02d:%02d", h, min, s);
}
int main(int argc, char *argv[])
{
// 1s=1000ms
// 1min=60s=60000ms
// 1h=60min=3600s=3600000ms
// 1day=24h=86400000ms
long long t = 0;//题目中t的范围是给到了10^18,还是非常大的,我们这里类型给long long
scanf("%lld", &t);//这里接收的时候也要用%lld,如果用%d则会发生数据丢失
//因为不用考虑年月日,你也不用管中间的闰年不闰年了,反正对题目来说也就是一天又一天的过
if (t < 86400000)//时长没有超过一天
{
time(t);
}
else
{
//时长超过1天,那么我们就让它度过若干天
t = t % 86400000;
time(t);
}
return 0;
}
C语言蓝桥杯刷题:时间显示
最新推荐文章于 2023-03-19 23:15:46 发布