问题描述:时钟的时针与分针之间会有一个夹角,计算两针之间的小夹角。
输入:两个整数,一个是时针的数值(1<=i<=12且为整数),一个是分针的数值(0<=j<=59)。
输出:两针的小夹角度数,保留两位小数。
分析:如果直接求解两针的夹角,没有办法!
1、可以求每根针与垂直方向的夹角a,b;
2、做a与b的差值运算,得到两针夹角A,取A绝对值。
3、判断A是否两针的小夹角,得最后答案A‘。
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
float h,m,hh,mm;
cin>>h; //输入变量,h代表时针数值,m代表分针数值,hh代表时针角度,mm代表分针角度。
cin>>m;
if(h==12)h=0;//一个小时占30度
hh=(h+m/60)*30;
mm=m*6; //一分钟占6度
hh=fabs(hh-mm);
if(hh>180)
hh=360-180;
cout.setf(ios.fixed);//输出小数点后两位
cout.precision(2);
cout<<endl<<hh<<"度";
system("pause");
}