使用海伦定理求三角形面积

2022年7月21日 | 分类: 【编程】

【题目】

一个三角形的三边长分别是 a、b、c,那么它的面积为 \(\sqrt{p(p-a)(p-b)(p-c)}\)。其中 \(p={\frac{1}{2}}(a+b+c)\) 。

输入这三个数字 a、b、c,计算三角形的面积,四舍五入精确到 1 位小数。保证能构成三角形,0≤a,b,c≤1000,每个边长输入时不超过2位小数。

输入格式:

第一行输入三个实数 a、b、c,以空格隔开。

输出格式:

输出一个实数,表示三角形面积。精确到小数点后 1 位。

输入:

3 4 5

输出:

6.0

【解析】

代码:

#include <cstdio>
#include <cmath>
using namespace std;

int main() {
    double a,b,c,p,area;
    scanf("%lf%lf%lf",&a,&b,&c);
    p=(a+b+c)/2;
    area=sqrt(p*(p-a)*(p-b)*(p-c));
    printf("%.1f\n",area);
    return 0;
}

注意:要用double,用float最后一个测试点过不了。

参考:https://www.cnblogs.com/yuzec/p/13320927.html
参考:https://blog.csdn.net/qq_46702358/article/details/113875225