您的位置:首页 > 其它

输入三个坐标,判断能否构成三角形,如果能,输出其周长和面积。

2017-04-16 20:06 811 查看
#include<stdio.h>

#include<math.h>

int main()

{

    double x1,y1,x2,y2,x3,y3,a,b,c;

    double area,s,L;

    printf("请输入三个点的坐标(x1,y1) (x2,y2) (x3,y3):");

    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((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));

    if((a+b)>c&&fabs(a-b)<c)

    {

        L=a+b+c;

        s=L/2;

        area=sqrt(s*(s-a)*(s-b)*(s-c));

        printf("Impossible\n");

        printf("周长L=%.2f  面积area=%.2f",L,area);

    }

    else if((b+c)>a&&fabs(b-c)<a)

    {

       L=a+b+c;

        s=L/2;

        area=sqrt(s*(s-a)*(s-b)*(s-c));

        printf("Impossible\n");

        printf("周长L=%.2f  面积area=%.2f",L,area);

    }

    else if((a+c)>b&&(a-c)<b)

    {

        L=a+b+c;

        s=L/2;

        area=sqrt(s*(s-a)*(s-b)*(s-c));

        printf("Impossible\n");

        printf("周长L=%.2f  面积area=%.2f",L,area);

    }

    else

    {

        printf("你输入的坐标不能构成三角形!\n");

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐