这道题算法简单,就是尼玛格式控制各种小心啊
The interval angle between the hour hand and the minute hand is always among 0 degree and 180 degree(including 0 and 180 degree). For example, when it's 12 o'clock, the angle of the two hands is 0 while 6:00 is 180 degree. Try to calculate any degree when it's between 12:00 to 11:59.
InputThe input data are of various situations. Every team consists of two numbers : the first number stands for the hour(great than 0 and less than or equal to 12) and second represents the minute( among [0, 59]). The input ends when the two numbers are both zeros.
Output
Print out the minimum angle between the two hands with the normal time form outputed.
Input Sample
12 0 12 30 6 0 3 0 0 0Output Sample
At 12:00 the angle is 0.0 degrees. At 12:30 the angle is 165.0 degrees. At 6:00 the angle is 180.0 degrees. At 3:00 the angle is 90.0 degrees.
代码如下,已经ac
#include <stdio.h>
int main()
{
int x,y;
double hour;
double minu;
double angle;
double m;
while(scanf("%d %d",&x,&y)==2)
{
if(x==0&&y==0)
{
break;
}
m=(double)y;
hour=30*(x%12)+m/2.0;
minu=6*y;
if(minu>=hour)
angle=minu-hour;
else
angle=hour-minu;
if(y<10)
{
if(angle>180)
printf("At %d:0%d the angle is %.1f degrees.\n",x,y,360-angle);
else
printf("At %d:0%d the angle is %.1f degrees.\n",x,y,angle);
}
else
{
if(angle>180)
printf("At %d:%d the angle is %.1f degrees.\n",x,y,360-angle);
else
printf("At %d:%d the angle is %.1f degrees.\n",x,y,angle);
}
}
}