[問題解決レポート] 579 - ClockHands

効果の対象に

原題: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で再現

おすすめ

転載: blog.csdn.net/weixin_33720452/article/details/94237254