描述
平面上有一个三角形,它的三个顶点坐标分别为(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<math.h> int main() { float x1,x2,x3,y1,y2,y3; scanf("%f %f %f %f %f %f",&x1,&y1,&x2,&y2,&x3,&y3); float a,b,c; 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)); float p=1.0/2*(a+b+c); printf("%.2f",sqrt(p*(p-a)*(p-b)*(p-c))); }
以上代码仅供参考