三角形面积

1.海伦公式:

a、b、c为三角形三条边的长度,p是三角形周长一半

2.叉积求面积:叉积=三角形面积=叉积/2

 

#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;

struct node
{
    int x;
    int y;
};
node p[3];

double chaji(node p0,node p1,node p2)
{
    return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);
}

double dis( node p1,node p2 )
{
    return sqrt( (p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y) );
}

int main()
{
    for(int i=0;i<3;i++)
    scanf("%d%d",&p[i].x,&p[i].y);
    double s,a,b,c,x;
    a=dis(p[0],p[1]);
    b=dis(p[1],p[2]);
    c=dis(p[0],p[2]);
    x=(a+b+c)/2;
    s=sqrt( x*(x-a)*(x-b)*(x-c) );
    printf("%.2lf\n",s);
    s=fabs( chaji(p[0],p[1],p[2])/2 );
    printf("%.2lf\n",s);
}

 

posted @ 2018-08-13 12:03  守林鸟  阅读(309)  评论(0编辑  收藏  举报