九度:题目1553:时钟

题目描述:

如图,给定任意时刻,求时针和分针的夹角(劣弧所对应的角)。

输入:

输入包含多组测试数据,每组测试数据由一个按hh:mm表示的时刻组成。

输出:

对于每组测试数据,输出一个浮点数,代表时针和分针的夹角(劣弧对应的角),用角度表示,结果保留两位小数。

样例输入:
03:00
14:45
样例输出:
90.00
172.50

#include<stdio.h>
#include<math.h>
#define MIN_FLOAT 0.000001

int main()
{
    int h,m;
    double mm,hh;
    while(~scanf("%d:%d",&h,&m))
    {
        if(h>=12)
            h -= 12;
        mm = m*1.0/60*360;
        hh =(h+m*1.0/60)/12*360;
        if(fabs(mm-hh)>180)
            printf("%.2f\n",360-fabs(hh-mm));
        if(fabs(mm-hh)>=-1*MIN_FLOAT&&fabs(mm-hh)<=180+MIN_FLOAT)
            printf("%.2f\n",fabs(mm-hh));

    }
    return 0;
}


posted @ 2014-03-17 17:31  海滨银枪小霸王  阅读(125)  评论(0编辑  收藏  举报