C语言时间转换

今天讲一下,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&gt;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&gt;=60&amp;&amp;sconds&lt;=3600)
{
    h=0;
    min=sconds/60;
    s=sconds%60;
    printf("%d %d %d",h,min,s);
}
else if(sconds&gt;0&amp;&amp;sconds&lt;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语言解决数学上的运算更加熟练。

 

posted @ 2023-10-05 14:52  膝盖中箭卫兵  阅读(54)  评论(0)    收藏  举报  来源
ORCID iD icon https://orcid.org/0000-0001-5102-772X