时间显示【第十二届蓝桥杯研究生组(C\C++)】

时间显示【第十二届蓝桥杯研究生组(C\C++)】_第1张图片
分析:
读进来的数字是毫秒,最后显示不需要毫秒,所以直接除以1000去掉毫秒,然后一小时是3600秒,所以之后除以3600得到有多少小时,然后再将小时数对24取模得到小时,n对3600取模,得到去除小时后还剩多少秒,此时再对n除以60,得到有多少分钟,取模得到有多少秒。
注意:这里n要用long long 接收,int存储不了。
还有一个方法是将除以1000后的秒数直接对24*3600取模,因为前面是天数,去除天数后剩下的就是当天的秒数。

样例输入

46800999

样例输出

13:00:00

样例输入

1618708103123

样例输出

01:08:23

第一种

#include

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;
}

第二种

时间显示【第十二届蓝桥杯研究生组(C\C++)】_第2张图片

你可能感兴趣的:(#,蓝桥杯,c++,算法,数据结构)