1553----时钟
给定任意时刻,求时针和分针的夹角(劣弧所对应的角)。
- 输入:
-
输入包含多组测试数据,每组测试数据由一个按hh:mm表示的时刻组成。
- 输出:
-
对于每组测试数据,输出一个浮点数,代表时针和分针的夹角(劣弧对应的角),用角度表示,结果保留两位小数。
- 样例输入:
-
03:00 14:45
- 样例输出:
-
90.00 172.50
#include<iostream> #include <iomanip> using namespace std; int main() { double h,m,result; char c; while(cin>>h) { cin>>c>>m; if(h>=12) h-=12; //result=abs(m*11/2-h*30); result=m*11/2-h*30; if(result<0) result=0-result; if(result>180) result=360-result; cout<<setiosflags(ios::fixed)<<setprecision(2)<<result<<endl; } return 0; }解析:求时针和分针的夹角(劣弧所对应的角)。需要注意的是分针指的一定是整刻度,而时针不一定,因为分针走的同时,时针也在微小的走,所以要求出时针偏离整刻度的偏移量。
分针走一格对应6度,此时时针要走0.5度(分针的速度是时针的12倍),(从整点开始算起)所以分针走过的度数为:m*6 ;
时针走一小时对应30度 (从零点开始算起)所以时针走过的度数为:h*30+m*0.5
两者之差就是其中的一个角度,如该角度大于180度,就为优弧所对应的角,否则即为所求。
浙公网安备 33010602011771号