九度OJ 1553

http://ac.jobdu.com/problem.php?pid=1553

/*
  时针和分针位mod12,之和再mod6计算大角度,
  时针和分针的位置关系分4种情况讨论
  然后加上时针小角度的转动。
*/
#include<stdio.h>
int main()
{
    int h,m;
    while(scanf("%d%*c%d",&h,&m)!=EOF)
    {
        int a=h%12,b=m%12;
        float k=(m+0.0)/2;
        float q=(a+0.0)/12-(m*11.0)/(60*12);
        if(q>0)
        {
            if(q<0.5)         //时针超过分针但小于180度
            {
                printf("%.2f\n",30*a-5.5*m);
            }
            else               //时针超过分针但大于180度
            {
                printf("%.2f\n",360-30*a+5.5*m);
            }
        }
        else
        {
            if(-q<0.5)          //分针超过时针但小于180度
            {
                printf("%.2f\n",5.5*m-30*a);
            }
            else               //分针超过时针但大于180度
            {
                printf("%.2f\n",360-5.5*m+30*a);
            }
        }
    }
    return 0;
}

 

posted @ 2014-04-04 07:28  JKXQJ  阅读(137)  评论(0编辑  收藏  举报