实验01 顺序程序设计(2020级)
题目编号 :Exp01-Enhance02
题目名称:时间转换
题目描述:编程序,输入午夜后的某秒数,输出该秒的小时:分种:秒。
输入:从键盘输入秒数。
输出:秒数转换后的小时:分种:秒,其中小时、分钟、秒都都是两位整数,数位不足用零补充。
样例1:
输入:
50000
输出:
13:53:20
样例2:
输入:
96
输出:
00:01:36
出现错误的地方大多在没有补0,例如输入96,程序输出的是0:1:36。
还有的是没有考虑到小时数有可能会超过24,应该加一句循环。
如果考虑了以上情况,可以写出如下代码。
#include<stdio.h>
int main()
{
int a,h,m,s;
scanf("%d",&a);
h = a / 3600;
a %= 3600;
m = a / 60;
a %= 60;
s = a;
while (h>=24)
{
h -= 24;
}
if (h<10)
{
printf("0%d:",h);
}
else
{
printf("%d:",h);
}
if (m<10)
{
printf("0%d:",m);
}
else
{
printf("%d:",m);
}
if (s<10)
{
printf("0%d",s);
}
else
{
printf("%d",s);
}
return 0;
}
但是如果懂得输出%02d,就不用上述这么长的代码了。
#include<stdio.h>
int main()
{
int a,h,m,s;
scanf("%d",&a);
h = a / 3600;
a %= 3600;
m = a / 60;
a %= 60;
s = a;
while(h>23)
{
h -= 24;
}
printf("%02d:%02d:%02d",h,m,s);
return 0;
}