描述
平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。
输入
输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。
输出
输出也是一行,输出三角形的面积,精确到小数点后两位。
样例输入
0 0 4 0 0 3
样例输出
6.00
提示
海伦公式
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
float X1,Y1,X2,Y2,X3,Y3,p;
double a,b,c;
cin >>X1>>Y1>>X2>>Y2>>X3>>Y3;
a=sqrt(pow((X1-X2),2)+pow((Y1-Y2),2));
b=sqrt(pow((X1-X3),2)+pow((Y1-Y3),2));
c=sqrt(pow((X2-X3),2)+pow((Y2-Y3),2));
p=(a+b+c)/2;
cout<<fixed<<setprecision(2)<<sqrt(p*(p-a)*(p-b)*(p-c));
return 0;
}
注意
1.包含数学公式pow, sqrt(开方)
2.海伦公式S=√[p(p-a)(p-b)(p-c)]
p=(a+b+c)/2