题目描述
一个三角形的三边长分别是 aa、bb、cc,那么它的面积为 p ( p − a ) ( p − b ) ( p − c ) \sqrt{p(p-a)(p-b)(p-c)} p(p−a)(p−b)(p−c),其中 p = 1 2 ( a + b + c ) p=\frac{1}{2}(a+b+c) p=21(a+b+c)。输入这三个数字,计算三角形的面积,四舍五入精确到 1 位小数。保证能构成三角形,0≤a,b,c≤1000,每个边长输入时不超过2位小数。
输入格式
无
输出格式
无
输入输出样例
输入
3 4 5
输出
6.0
代码
#include<iostream>
#include<cstring>
#include<string>
#include<iomanip>
#include<cmath>
using namespace std;
typedef long long ll;
int main()
{
double a, b, c;
double s, p;
cin >> a >> b >> c;
p = 0.5*(a + b + c);
s = sqrt(p * (p - a) * (p - b) * (p - c));
cout << fixed << setprecision(1) << s << endl;
return 0;
}