题目描述
给定一个 t,将 t 秒转化为 HH:MM:SS 的形式,表示 HH 小时 MM 分钟 SS 秒。
HH, MM, SS 均是两位数,如果小于 10 用 0 补到两位。
输入格式
第一行一个数 T,表示数据组数。
后面每组数据读入一个数 t。
输出格式
每组数据一行,HH:MM:SS。
样例输入
2
0
86399
样例输出
00:00:00
23:59:59
数据范围
1 ≤ T≤ 105
0 ≤ t < 24 * 60 * 60
题解:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int T;
cin >> T;
while(T --)
{
int n;
scanf("%d", &n);
int h = n / 3600;
int m = n % 3600 / 60;
int s = n % 3600 % 60;
printf("%02d:%02d:%02d\n", h, m, s);
}
return 0;
}
ps:输入数量太多,所以要用 scanf
,否则会超时。