总时间限制: 1000ms 内存限制: 65536kB
描述
平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。
输入
输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。
输出
输出也是一行,输出三角形的面积,精确到小数点后两位。
样例输入
0 0 4 0 0 3
样例输出
6.00
提示
海伦公式
源码
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#pragma warning(disable:4996)
//海伦公式:p=(a+b+c)/2 S=sqrt[p(p-a)(p-b)(p-c)]
int main()
{
float x1, y1, x2, y2, x3, y3, p, s, a, b, c;
scanf("%f %f %f %f %f %f", &x1, &y1, &x2, &y2, &x3, &y3);
a = sqrt(pow(x1 - x2, 2) + pow((y1 - y2), 2));
b = sqrt(pow(x1 - x3, 2) + pow((y1 - y3), 2));
c = sqrt(pow(x2 - x3, 2) + pow((y2 - y3), 2));
p = (a + b + c) / 2;
s = sqrt(p * (p - a) * (p - b) * (p - c));
printf("%.2f", s);
return 0;
}
***谢谢!!!