C++题目:海伦公式

海伦公式

题目描述

海伦公式亦称“海伦-秦九韶公式”,可以直接用三角形的三条边长来计算出三角形面积。此公式是亚历山大港的海伦发现或记载的,并可在其于公元60年的《Metrica》中找到其证明。

亦有人认为更早时阿基米德已经懂得这条公式。而由于《Metrica》是一部古代数学知识的结集,该公式的发现时期很有可能先于海伦的著作。中国南宋末年数学家秦九韶发现或知道等价的公式,其著作《数书九章》中记载有一个等价的公式。

根据海伦公式,只需知道三角形的三边长 a , b , c a,b,c a,b,c,就可以计算三角形的面积 S S S。计算公式如下:

S = p ( p − a ) ( p − b ) ( p − c ) S=\sqrt {p(p-a)(p-b)(p-c)} S=p(pa)(pb)(pc)
其中 p p p为半周长, p = a + b + c 2 p=\frac{a+b+c}{2} p=2a+b+c

请根据公式,使用三角形三边长计算其面积。

输入格式

一行,三个浮点数 a , b , c a,b,c a,b,c,以空格分隔,表示三角形三边长。

输出格式

一行,一个浮点数(保留两位小数),表示三角形的面积 S S S

样例 #1

样例输入 #1

3 4 5

样例输出 #1

6.00

样例 #2

样例输入 #2

3.14 1.618 2.414

样例输出 #2

1.92

提示

输入保证合理(三个边长可以构成三角形),并且 a , b , c , S a,b,c,S a,b,c,S都能用double类型存储。

<cmath>头文件中有一个工具(函数)可以求平方根。引入头文件后,程序中使用sqrt(a)就能得到 a a a的平方根 a \sqrt{a} a ,结果为double类型。例如

	cout << sqrt(2);

会输出1.41421,即 2 \sqrt{2} 2 的近似值。

#include<bits/stdc++.h>
using namespace std;

int main(){
	double a,b,c,p;
	cin >> a >> b >> c;
	p = (a+b+c)/2.0;
	cout << fixed << setprecision(2) << sqrt(p*(p-a)*(p-b)*(p-c));
	return 0;
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值