#include <stdio.h>
int main() {
int seconds;
if(scanf("%d",&seconds) != 1){
printf("输入错误!\n");
return 1;
}
if(seconds<0){
return 1;
}
int h = seconds/3600;//小时
int remaining = seconds%3600;//剩下的秒数
int m = remaining/60;//分钟
int s = remaining%60;//秒数
printf("%d %d %d",h,m,s);
return 0;
}用转换小时后剩下的时间去转换分秒。我觉得这样比直接用输入的时间去直接转换小时分秒要清晰。
#include <stdio.h>
int main() {
int time = 0;
int hour,minute,second = 0;
scanf("%d\n",&time);
//打印“时”
printf("%d ",time / 3600);//1小时 = 3600s
//打印"分"
printf("%d ",time % 3600 / 60);//1分钟 = 60s
//打印“秒”
printf("%d ",time % 3600 % 60);
return 0;
} 计算小时数:
因为1小时=3600秒,所以:
3661/3600=1.016944...取整数部分⇒1 小时
剩余秒数:
3661−1×3600=61 秒3661−1×3600=61 秒
计算分钟数:
因为1分钟=60秒,所以:
61/60=1.0166...取整数部分⇒1 分钟
剩余秒数:
61−1×60=1 秒61−1×60=1 秒
剩余的秒数:
1 秒
int main()
{
int t,h,m,s={0};
scanf("%d",&t);
h=t/3600;
m=t%3600/60;
s=t%60;
printf("%d %d %d",h,m,s);
return 0;
}
int main()
{
int seconds = 0;
int minute = 0;
int hour = 0;
scanf("%d", &seconds);
minute = seconds / 60; //求总的分钟
minute = minute % 60; //求显示的分钟,不能超过60分
hour = seconds / 3600; //求总的小时
hour = hour % 24; //求显示的小时,不能超过24个小时
seconds = seconds % 60; //求余下的秒数
printf("%d %d %d", hour, minute, seconds);
return 0;
}