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