求三角形面积(已知3点坐标)
题目描述
平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。
输入格式
输入仅一行,包括6个双精度浮点数,分别对应x1, y1, x2, y2, x3, y3。
输出格式
输出也是一行,输出三角形的面积,精确到小数点后两位。
样例
样例输入
0 0 4 0 0 3
样例输出
6.00
数据范围与提示
两点间线段长度公式:【(x1-x2)的平方+(y1-y2)的平方之和再开根号】;
已经三角形三边长,求面积使用“海伦公式”,三角形三边分别是a,b,c,t=(a+b+c)/2; 面积s=根号下t*(t-a)(t-b)(t-c)
过分水!!!
过分水!!!
过分水!!!
c++AC代码
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
double X1,Y1,X2,Y2,X3,Y3,a,b,c,d;
int main(){
cin>>X1>>Y1>>X2>>Y2>>X3>>Y3;
a=sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));
b=sqrt((X3-X2)*(X3-X2)+(Y3-Y2)*(Y3-Y2));
c=sqrt((X1-X3)*(X1-X3)+(Y1-Y3)*(Y1-Y3 ));
d=(a+b+c)/2;
printf("%.2lf",sqrt(d*(d-a)*(d-b)*(d-c)));
return 0;
}