标准输入:第一行输入的是t,表示t组测试数据,然后是表示时间的时针和分针数,形式为0:0;
标准输出:每个案例仅仅输出一个表示角度的整形数字或者不可约数字(不大于180度)
分析:此题仅仅需要注意到时针可能会随着分针的指向发生一定的偏移然后照此计算出角度即可。
代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
int t;
scanf("%d", &t);
while (t--)
{
int a, b;
scanf("%d:%d", &a, &b);
//answer=abs((a+b/60)*30-b*6)
if (b % 2 == 0)
{
if (abs((a + b / 60) * 30 - b * 6) <= 180)
printf("%d", abs((a + b / 60) * 30 - b * 6));
else
printf("%d", 360 - abs((a + b / 60) * 30 - b * 6));
}
else
{
int angle = abs(2 * (a * 30 - b * 6)+b);
if (angle <= 360)
printf("%d/2", angle);
else
printf("%d/2", 720 - angle);
}
}
}