HDU-2076 夹角有多大(题目已修改,注意读题)
代码
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int T;
cin>>T;
for(int i=0; i<T; i++) {
double h, m, s;
cin>>h>>m>>s;
if(h>12){
h -= 12;
}
double angleH = h*30.0 + m*0.5 + 1.0/120.0*s;
double angleM = m*6.0 + s*0.1;
double ans = abs(angleH-angleM);
ans = ans>180?360-ans:ans;
cout<<(int)ans<<endl;
}
return 0;
}
注解
1、计算出来,每秒钟时针转的角度,分针转的角度,时针转的角度。
2、12小时制。一定要注意,h>12时,要先减去12
3、题目输出范围是[0,180],大于180应该用360减去对应的角度,得到小于180的角度。