代码
#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;
h = h>12?h-12:h;
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、坑点1:钟表是12小时制。一定要注意,h>12时,要先减去12。
3、坑点2:题目输出范围是[0,180],大于180应该用360减去对应的角度,得到小于180的角那个角。