问题描述
思路
这道题我们直接不断的除余即可,因为给的是毫秒数,所以要先转换成秒数。并且可以知道,最终显示出来的时间中,秒数一定在 0 到 60 之间,分数同理,时数一定在 0 到 24 之间,故我们可以先去计算秒数,再去计算分数,最后再计算时数。
代码
#include <bits/stdc++.h> using namespace std; int main() { long long int n; cin >> n; n /= 1000; //转换成秒数 int s = n % 60; //获得秒数 n /= 60; int m = n % 60; //获得分数 n /= 60; int h = n % 24; //获得时数 cout << setw(2) << setfill('0') << h << ":"; cout << setw(2) << setfill('0') << m << ":"; cout << setw(2) << setfill('0') << s; }