HDU 2076 夹角有多大

解题报告:

题目大意:给出一个时间,求出这个时间的时候时针和分针的夹角是多少?

这题要注意的是时是24小时制,而且时间是连续的,所以数据应该定义成double型。然后算出时针与0点位置的夹角,和分针与0分位置的夹角,

公式是sum1=(h+m/60+s/3600)*30;
  sum2=(m+s/60)*6;

sum1表示时针与0点的夹角,sum2表示分针与0分位置的夹角。

这样一相减,同时这里又要注意,相减之后要取整。而不是用自动的四舍五入,我一开始就是没有取整,所以一直WA。

 1 #include<cstdio>
 2 #include<cmath>
 3 int main() {
 4     int T;
 5     double h,m,s,sum1,sum2;
 6     while(scanf("%d",&T)!=EOF)
 7     while(T--) {
 8         scanf("%lf%lf%lf",&h,&m,&s);
 9         h=int(h)%12;
10         sum1=(h+m/60+s/3600)*30;
11         sum2=(m+s/60)*6;
12         double sum=floor(fabs(sum1-sum2)>180? 360-fabs(sum1-sum2):fabs(sum1-sum2));
13         printf("%.0lf\n",sum);
14     }
15     return 0;
16 }
View Code
原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3097625.html