蓝桥杯历届-土地测量
造成高房价的原因有许多,比如土地出让价格。既然地价高,土地的面积必须仔细计算。遗憾的是,
有些地块的形状不规则,比如是如图【1.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”中,不要写在这里!
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
float getPer(float a, float b, float c) {
return (a+b+c)/2.0;
}
float getS(float s, float a, float b, float c) {
return sqrt(s*(s-a)*(s-b)*(s-c));
}
int main() {
float AB = 52.1;
float BC = 57.2;
float CD = 43.5;
float DE = 51.9;
float EA = 33.4;
float EB = 68.2;
float EC = 71.9;
printf("%.2f",getS(getPer(EA,AB,EB), EA, AB, EB)+
getS(getPer(EB,EC,BC), EB, EC, BC)+
getS(getPer(DE,EC,CD), DE, EC, CD));
return 0;
}
答案是3789.86