7-29 烟囱的高度 分数 10
作者 李祥 单位 湖北经济学院
已知人离烟囱的距离为 a,人的眼睛离地高度为 b,人看烟囱顶时的仰角为 θ,求烟囱的高度 h。
输入格式
a b
θ
注:a、b 的单位为米,均为小数。仰角 θ 的单位为角度,包括度、分和秒数,其中度、分为整数,秒数为小数。
输出格式
h
注:h 的单位为米。
要求:输出2位小数,末位四舍五入。
输入样例
27.8 1.2
32 48 59.5
输出样例
19.13
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
Answer:
#include<stdio.h>
#include<math.h>
·
#define·PI·3.1415926//定义标识符常量·pai
·
int·main()
{
····int·i=1;
····double·a,b,c,d,f;
····scanf("%lf·%lf",&a,&b);
····scanf("%lf·%lf·%lf",&c,&d,&f);
····//c:度,d:分,f:秒
····double·du=c+d/60.0+f/3600.0;
····//换算成总度数,1度=60分=3600秒,度分秒=度+分/60+秒/3600
····double·jiaodu=tan(du*PI/180);
····//换算成角度,弧度=角度*pi/180
····double·h=b+a*jiaodu;
//计算烟囱高度
····printf("%.2f\n",h);
····//输出2位小数,末位四舍五入
}
解题思路:
step 1:输入人离烟囱的距离为 a,人的眼睛离地高度为 b,度c、分d和秒数f;
step 2:将度、分和秒数根据1度=60分=3600秒,度分秒=度+分/60+秒/3600换算成总度数;
step 3:根据弧度=角度*pi/180换算成角度;
step 4:根据题目要求输出2位小数,末位四舍五入。
归属知识点:
顺序结构、标识符常量·pai