已知人离烟囱的距离为 a,人的眼睛离地高度为 b,人看烟囱顶时的仰角为 θ,求烟囱的高度 h。
输入格式
a, b
θ
注:a、b 的单位为米,均为小数。仰角 θ 的单位为度、分和秒数,其中度、分为整数,秒数为小数。
输出格式
h
注:h 的单位为米。
要求:输出2位小数,末位四舍五入。
输入样例
27.8 1.2
32 48 59.5
输出样例
19.13
考点:
1、三角函数的度数转换;
2、末位四舍五入;
妙点:
1、度数=度+分/60.0+秒/3600.0
2、我有一个点一直报错,就保留两位小数:
是cout.precision(2);
不是cout<<cout.precision(2);
事实证明它会让你编译通过,然后给你一个奇怪的数字。
完整代码:
//弧度=角度*Pi/180
//1°=60′=3600〃
//度数=度+分/60.0+秒/3600.0 by lsr
#include<iostream>
#include<math.h>
#define PI 3.1415926
using namespace std;
int main()
{
double a,b,sita3,sita,h,h1;
double sita1,sita2;
cin>>a>>b;
cin>>sita1>>sita2>>sita3;
sita=(sita1+sita2/60.0+sita3/3600.0)*PI/180;
h1=a*tan(sita)+0.005;
h=h1+b;
cout.precision(2);
cout<<fixed<<h;
return 0;
}