问题描述
给定一个以秒为单位的时间t,要求用“<H>:<M>:<S>”的格式来表示这个时间。<H>表示时间,<M>表示分钟,而<S>表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。
输入格式
输入只有一行,是一个整数t(0<=t<=86399)。
输出格式
输出只有一行,是以“<H>:<M>:<S>”的格式所表示的时间,不包括引号。
样例输入
0
样例输出
0:0:0
样例输入
5436
样例输出
1:30:36
分析:
题目要求我们将输入的数值(秒)转为几时几分几秒(具体的时间),根据数学或日常生活中我们了解:(1)每小时60分钟。(2)每分钟60秒。 由此可知可得出基本的算法,由于输入限制的数值较小除以3600小于24,因此我们无需取模(86400=24*3600)从而得出代码。
代码:
#include <stdio.h>
int main(){
int a,h,m,s;
scanf("%d",&a);
h=a/3600;
m=a%3600/60;
s=a%3600%60;
printf("%d:%d:%d",h,m,s);
return 0;
}
作者新人,做题能力一般,如果有其他题目可以私信,只要能力范围之内尽量解答,谢谢!