【题目描述】
平面上有一个三角形,它的三个顶点坐标分别为(x1,y1),(x2,y2),(x3,y3),那么请问这个三角形的面积是多少,精确到小数点后两位。
【输入】
输入仅一行,包括6个单精度浮点数,分别对应x1,y1,x2,y2,x3,y3。
【输出】
输出也是一行,输出三角形的面积,精确到小数点后两位。
【输入样例】
0 0 4 0 0 3
【输出样例】
6.00
【代码】
#include<cstdio>
#include<math.h>
using namespace std
;
int main(){
double xa
,ya
,xb
,yb
,xc
,yc
,a
,b
,c
;
scanf("%lf%lf%lf%lf%lf%lf",&xa
,&ya
,&xb
,&yb
,&xc
,&yc
);
a
=sqrt((xa
-xb
)*(xa
-xb
)+(ya
-yb
)*(ya
-yb
));
b
=sqrt((xb
-xc
)*(xb
-xc
)+(yb
-yc
)*(yb
-yc
));
c
=sqrt((xa
-xc
)*(xa
-xc
)+(ya
-yc
)*(ya
-yc
));
double p
=(a
+b
+c
)/2;
double s
=sqrt(p
*(p
-a
)*(p
-b
)*(p
-c
));
printf("%.2lf\n",s
);
return 0;
}