郑州轻工业大学oj题解(c语言)1996: 时间转换
2020-02-07 本文已影响0人
缘点点
1996: 时间转换
- 题目描述
给定一个以秒为单位的时间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> ”的格式所表示的时间,不包括引号。 - 参考代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t,a=0,b=0,c=0;
scanf("%d",&t);
a=t/3600;//求时
b=t/60%60;//求分
c=t%60;//求秒
printf("%d:%d:%d",a,b,c);
return 0;
}
- 代码解析:
这道题是一个秒转换为时的题目,需要把以秒为单位的数字转换成时分秒的格式。
总体来说不难,结合生活实际理解即可,1小时=60分钟=3600秒。那么,我们直接拿秒除以3600,其商便是小时的数字。而后我们再拿这个的余数除以60,就可以得到分钟的数字。以此类推求秒即可。
代码为了简洁,我直接分别用时间总和求出各个单位的数字了,至于为什么这么算能得出时,分,秒,自行举例尝试便知道了,这里就不多叙述了。
最后记得注意输出时有格式要求。