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>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语言解决数学上的运算更加熟练。

 

你可能感兴趣的:(c语言)