今天讲一下,C语言时间转换题目,即给定秒数 seconds ,把秒转化成小时、分钟和秒。
基础知识
首先梳理一下:
1h=60min=3600s 1min=60s 1s=1/60min=1/3600h
-----------------------------------------第一种情况---------sconds>3600
若给定sconds=5000s,首先要求出小时数,用5000%3600取余数即得1;
第二就是求出分钟,用5000/3600去除转换成小时的分钟数,再/60得出分钟数;
最后求出秒数,就要去除变成小时的秒数,最后%60得出结果。
----------------------------------------第二种情况---------60<=sconds<=3600
若给定sconds=800,首先判断出不足1h,故h=0;
第二求出分钟,直接除以60即可得到;
最后求秒数,对所给定的秒数取模--->sconds%60,余数即是秒数。
下面看代码:
int main()
{
int sconds;
int h,min,s;
scanf("%d",&sconds);
if(sconds>3600)
{
h=sconds/3600; //最后打印出整数,可以求出小时数
min=(sconds%3600)/60; //去除变为小时的秒数后直接除以60,最后打印取整数得出分钟
s=(sconds%3600)%60; //去除变为小时的秒数,除以60,更简单点可以写为s=time%60;
printf("%d %d %d",h,min,s);//最后取整数打印出来
}
else if(sconds>=60&&sconds<=3600)
{
h=0;
min=sconds/60;
s=sconds%60;
printf("%d %d %d",h,min,s);
}
else if(sconds>0&&sconds<60)
{
h=0; //最后这种情况sconds小于60,h和min都等于0,s则为输入的sconds
min=0;
s=time;
printf("%d %d %d",h,min,s);
}
return 0;
}
总结:
了解时间转换的基础题型可以更好的让我们掌握C语言的使用,对于用C语言解决数学上的运算更加熟练。