题目链接
题目描述
小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日 00:00:00 到当前时刻经过的毫秒数
。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。
给定一个用整数表示的时间,请将这个时间对应的时分秒输出。
输入
输入一行包含一个整数,表示时间。
输出
输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为 0 到 23,MM 表示分,值为 0 到 59,SS 表示秒,值为 0 到 59。时、分、秒不足两位时补前导 0。
样例输入
46800999
样例输出
13:00:00
即便是第一题,坑也是一堆,所以比赛还是得看清楚题!!!
十年OI一场空,不开LL见祖宗。
一些坑:
1秒=1000毫秒
前导0
%02d
然后输入的数 需要开long long
不然会爆int
#include
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
const int INF = 1e9;
int main () {
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
LL n, hh, mm, ss, t;
cin >> n;
n /= 1000;//毫秒换算成秒
n %= 86400;//86400s就是24小时
hh = n / 3600;
n %= 3600;
mm = n / 60;
ss = n % 60;
printf("%02d:%02d:%02d\n", hh, mm, ss);
return 0;
}