効果の対象に
原題:http://uva.onlinejudge.org/external/5/579.pdf
背景:
時間、分:一般的には通常2つのクロックのポインタがあります。被験者は、あなたのプログラムは、時針と分針との間の角度に応答尋ね、あなたにいくつかの並べ替えを語っています。ご注意:遠近法のすべては、最小の正の角度にご返信ください。例えば:9時、90度、-90度ではなく、また270度です。
入力:
H:入力時、一連の行は次の形式で表示されるたびにあるM.
1 <= H <= 12 00 <= M <= 59
0時00分であれば入力端を表しています。注意:Hは、1つのまたは2桁であり、Mは2桁の数字が表示され、常に..です (それはあなたが一般的な電子テーブルモードで表示されています。)
出力:
正の出力は、時針と分針の入力時間の間の最小角度に対応してください。この角度は、0度から180度の間であるべきです。別の行に各出力。小数点以下第3位にそれぞれ出力。
サンプル入力
午前12時 午前9時 午前8時10 午前0時00分
サンプル出力
0.000 90.000 175.000
アルゴリズム:
アイデアは、この瞬間の時間と分の角度の視点を計算し、その後、角度が時針と分針で、その後さらに悪化模索されている限り、非常に簡単です。
コード:
ここに私のコードを添付し、あなたが行くことができ、ここで、あなたのコードが正しいか確認するためにあなたのコードを提出します。
コードの表示
1の#include <stdio.hの> 2の#include <math.h>の 3 INTメイン(ボイド) 4 { 5 ダブル時間、分、。 6 一方(scanf関数(" %のLF:%のLF "!&時間、&分)= EOF) 7 { 8 であれば(時間== 0 &&分== 0)ブレーク。 9 時間=時間* 30.0 +分/ 60.0 * 30.0 。 10 分=分* 6.0 。 11 =ファブ(hour- 分)。 12 であれば(A> 180 ) 13 = 360 - 。 14 のprintf(" %0.3lfする\ n " 、A)。 15 } 16 リターン 0 。 17 }
ます。https://www.cnblogs.com/qisong178878915/archive/2013/02/25/2932436.htmlで再現