#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秒、と表示されます。
とりあえずはこんな感じでしょうか。初心者からするとプログラミングしてる!という感じが溢れ出るような内容でした。