题目:土地测量
造成高房价的原因有许多,比如土地出让价格。既然地价高,土地的面积必须仔细计算。
AB = 52.1
BC = 57.2
CD = 43.5
DE = 51.9
EA = 33.4
EB = 68.2
EC = 71.9
根据这些数据求五边形地块的面积。四舍五入到小数后两位。只写结果,不要源代码!
答案写在“解答.txt”中,不要写在这里!
第三届蓝桥杯部分试题与答案
造成高房价的原因有许多,比如土地出让价格。既然地价高,土地的面积必须仔细计算。
遗憾的是,有些地块的形状不规则,比如是如图【1.jpg】中所示的五边形。
1.jpg
一般需要把它划分为多个三角形来计算。
已知三边求三角形的面积需要用海伦定理,参见【2.jpg】
2.jpg
各条边长数据如下:
AB = 52.1
BC = 57.2
CD = 43.5
DE = 51.9
EA = 33.4
EB = 68.2
EC = 71.9
根据这些数据求五边形地块的面积。四舍五入到小数后两位。只写结果,不要源代码!
答案写在“解答.txt”中,不要写在这里!
(本题2分)
答案:3789.86
C++代码:
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
#define s(a,b,c) ((a+b+c)/2)
#define A(a,b,c,m) (sqrt(m*(m-a)*(m-b)*(m-c)))
int main() {
const double AB = 52.1, BC = 57.2, CD = 43.5,
DE = 51.9, EA = 33.4,EB = 68.2,
EC = 71.9; //直接复制题目,也不会打错
double m1 = s(AB, EB, EA),
m2 = s(EB, BC, EC),
m3 = s(DE, EC, CD);
cout << fixed << setprecision(2)
<< A(AB, EB, EA, m1)+A(EB, BC, EC, m2)+A(DE, EC, CD, m3);
return 0;
}
第三届蓝桥杯部分试题与答案