【题目描述】
平面上有一个三角形,它的三个顶点坐标分别为(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。
【输出】
输出也是一行,输出三角形的面积,精确到小数点后两位。
【题解代码】
#include <iostream>
#include <iomanip>
#include "math.h"
using namespace std;
int main()
{
double x1, y1, x2, y2, x3, y3;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
double a = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
double b = sqrt((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1));
double c = sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2));
double p = (a + b + c)/2;
cout <<fixed<<setprecision(2)<< sqrt(p*(p-a)*(p-b)*(p-c));
return 0;
}