【题目描述】
平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少,精确到小数点后两位。
【输入】
输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3
。
【输出】
输出也是一行,输出三角形的面积,精确到小数点后两位。
【输入样例】
0 0 4 0 0 3
【输出样例】
6.00`
#include<bits/stdc++.h>
using namespace std;
int main()
{
double x1 , x2 , x3 , y1 , y2 , y3 , a , b , c , zzarea , p ;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 ;
a = sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) ) ;//边长a
b = sqrt( (x3-x1)*(x3-x1) + (y3-y1)*(y3-y1) ) ;//边长b
c = sqrt( (x2-x3)*(x2-x3) + (y2-y3)*(y2-y3) ) ;//边长c
p = ( a + b + c ) / 2.0 ;//半周长
zzarea = sqrt( p*( p - a )*( p - b )*( p - c ) );//海伦公式 求面积
printf("%.2lf\n" , zzarea );
// cout << setiosflags(ios::fixed) << setprecision(2) << zzarea << endl;
return 0 ;
}