时间过的好快,一个学期就这么的过去了,xhd在傻傻的看着表,出于对数据的渴望,突然他想知道这个表的时针和分针的夹角是多少。现在xhd知道的只有时间,请你帮他算出这个夹角。
注:夹角的范围 0,180
Input
输入数据的第一行是一个数据T,表示有T组数据。
每组数据有三个整数h(0 <= h < 24),m(0 <= m < 60),s(0 <= s < 60)分别表示时、分、秒。
Output
对于每组输入数据,输出夹角的大小的整数部分。
Sample Input
Sample Output
注:夹角的范围 0,180
,时针和分针的转动是连续而不是离散的。
每组数据有三个整数h(0 <= h < 24),m(0 <= m < 60),s(0 <= s < 60)分别表示时、分、秒。
2 8 3 17 5 13 30
13875
分析:列如钟表上2时15分,求夹角角度??
先算时针的:时针12个小时走完360度平均每小时360/12=30度 现在是2小时15分 也就是(2+15/60)=2.25小时 其度数为30*2.25=67.5度 再算分针的:分针60分钟走完360度平均每分钟360/60=6度 现在是15分 其度数为6*15=90度 最后算夹角:夹角=(时针-分针)的绝对值=90-67.5=22.5度
代码:
#include<stdio.h> int main() { int t,h,m,s; float d,d1,d2; scanf("%d",&t); while(t--) {scanf("%d%d%d",&h,&m,&s); d=h*30+(1.0*m/60+1.0*s/3600.0)*30.0; d1=6*m+1.0*s/60*6.0; d2=d-d1; if(d2<0) d2=-d2; if(d2>180) d2=360.0-d2; printf("%d\n",int(d2)); } return 0; }