#3
 

こんにちは。本日もC言語を載せていきます。

 
今日は少し計算を用いたプログラムです。
 
それは○○秒から△時間×分□秒に変換するようなプログラムです(今回はhourを最大の単位とさせていただきますm(__)m)。
 
では、やっていきます!

 

 

 

#include <stdio.h>
 

int main() {


    int a,b;
 

    int h,m,s;
 

    scanf("%d",&b);
 
    a=b;


    h=a/3600;
    a%=3600;
 
    m=a/60;
    a%=60;
 
    s=a;


    printf("秒の入力→%d秒\n",b);
    printf("%d時間%d分%d秒\n",h,m,s);


return 0;


}

 

 

ざっとこんな感じでしょうか…

 

まず秒から時間を求めるには、それらの単位にはどんな関係があるかを知る必要があります。

 

注意すべきは時間は60進法で表されている点です。

 

一段階踏むならば、1時間は60分。1分は60秒、ゆえに1時間は60×60で3600秒と分かります。

 

 

では秒から何時間かを求めるには3600割ってあげれば出せますね。

 

次に何分かを求めるのですが、そのまま60で割ってしまうと先ほど求めた時間まで含まれてしまいます。

 

なので分を求める前に3600で割った余りの値を保存しなくてはいけません。なのでa=a%3600; と表すことができます。

 

あとは同じような感じで秒まで求めていきます。

 

 

そうすると上のプログラムと同じような形になると思います。

試しに120と入力してみると0時間2分0秒、と表示されます。

 

 

とりあえずはこんな感じでしょうか。初心者からするとプログラミングしてる!という感じが溢れ出るような内容でした。