Description
给出平面内的三个点,求这三个点所围成的三角形的面积。
Input
平面内三个点的坐标,保证输入三角形是合法的
Output
三角形的面积,结果保留两位小数。
Sample Input
0 0
0 1
1 0
Sample Output
0.50
Hint
求三角形的面积可用叉积公式,fabs(xA * yB - xB * yA) * 0.5,其中xA = x1 - x2; yA = y1 - y2; xB = x3 - x2; yB = y3 - y2.
Submission
answer.cpp
#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;
int main(){
double Ax,Ay,Bx,By,Cx,Cy;
cin>>Ax>>Ay>>Bx>>By>>Cx>>Cy;
cout<<setprecision(2)<<fixed<<fabs((Ax-Bx)*(Cy-By)-(Cx-Bx)*(Ay-By))/2<<endl;
return 0;
}
Standard Answer
answer.cpp
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
double x1, y1, x2, y2, x3, y3;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
double xA, yA, xB, yB;
xA = x1 - x2; yA = y1 - y2;
xB = x3 - x2; yB = y3 - y2;
double area = fabs(xA * yB - xB * yA) * 0.5;
cout << fixed << setprecision(2) << area << endl;
return 0;
}