【题目描述】
平面上有一个三角形,它的三个顶点坐标分别为(x1,y1),(x2,y2),(x3,y3)(�1,�1),(�2,�2),(�3,�3),那么请问这个三角形的面积是多少,精确到小数点后两位。
【输入】
输入仅一行,包括66个双精度浮点数,分别对应x1,y1,x2,y2,x3,y3�1,�1,�2,�2,�3,�3。
【输出】
输出也是一行,输出三角形的面积,精确到小数点后两位。
【输入样例】
0 0 4 0 0 3
【输出样例】
6.00
码上!!!
#include<bits/stdc++.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;
}