分析:
读进来的数字是毫秒,最后显示不需要毫秒,所以直接除以1000去掉毫秒,然后一小时是3600秒,所以之后除以3600得到有多少小时,然后再将小时数对24取模得到小时,n对3600取模,得到去除小时后还剩多少秒,此时再对n除以60,得到有多少分钟,取模得到有多少秒。
注意:这里n要用long long 接收,int存储不了。
还有一个方法是将除以1000后的秒数直接对24*3600取模,因为前面是天数,去除天数后剩下的就是当天的秒数。
样例输入
46800999
样例输出
13:00:00
样例输入
1618708103123
样例输出
01:08:23
第一种
#include<iostream>
using namespace std;
int main()
{
long long n;
cin >> n;
n /= 1000;
int h = n / 3600;
h = h % 24;
n = n % 3600;
int m = n / 60;
int s = n % 60;
printf("%02d:%02d:%02d", h, m, s);
return 0;
}