欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

求三角形面积

程序员文章站 2022-05-08 14:33:47
...

给定三角形三个顶点的坐标,计算三角形的面积。
Input
有多组数据。每组数据由6个双精度数组成,分别表示三角形三个顶点的坐标。

Output
三角形的面积。如果三点在一条直线上,则输出“not a triangle”。
Sample Input
10 20 30 40 50 60
3874 487 34587 45687 234 45
Sample Output
not a triangle!
area=75476427.00
求三角形面积

#include<stdio.h>
#include<math.h>
int main(){
double x1,y1,x2,y2,x3,y3,a,b,c,p,s;
while(~scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3)){
     a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
    c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
    p=(a+b+c)/2;
    s=sqrt(p*(p-a)*(p-b)*(p-c));
    if(s==0){
        printf("not a triangle!\n");
    }
    else printf("area=%.2lf\n",s);
}
return 0;
}