C语言根据用户输入的3个顶点,【if 语句】根据用户的输入 3 个顶点坐标计算三角形的面积和周长,如果不能构成三角形提示错误....

#include 

#include 

//输入三个点

void inputThreePoint(double *p)

{

\x09for(int i=0;i<6;i+=2)

\x09{

\x09\x09printf("输入坐标点(x,y)%d: ",i+1);

\x09\x09scanf("%lf,%lf",p+i,p+i+1);

\x09\x09fflush(stdin);

\x09}

}

//计算周长

double getPerimeter(double *p)

{

\x09double side_length_a=*p;

\x09double side_length_b=*(p+1);

\x09double  side_length_c=*(p+2);

\x09return side_length_a+side_length_b+side_length_c;

}

//计算面积

double getArea(double *p)

{

\x09double side_length_a=*p;

\x09double side_length_b=*(p+1);

\x09double side_length_c=*(p+2);

\x09double halfPerimeter=(side_length_a+side_length_b+side_length_c)/2;

\x09return sqrt(halfPerimeter*(halfPerimeter-side_length_a)*(halfPerimeter-side_length_b)*(halfPerimeter-side_length_c));

}

//根据坐标点求长度

void getLength(double *point,double *angelLength)

{

\x09double x1=*point;

\x09double y1=*(point+1);

\x09double x2=*(point+2);

\x09double y2=*(point+3);

\x09double x3=*(point+4);

\x09double y3=*(point+5);

\x09*angelLength=sqrt(pow((x1-x2),2)+pow((y1-y2),2));

\x09*(angelLength+1)=sqrt(pow((x3-x2),2)+pow((y3-y2),2));

\x09*(angelLength+2)=sqrt(pow((x3-x1),2)+pow((y3-y1),2));

}

//判断能否构成三角形

bool isAngel(double *p)

{

\x09double side_length_a=*p;

\x09double side_length_b=*(p+1);

\x09double side_length_c=*(p+2);

\x09

\x09if(side_length_a+side_length_b>side_length_c

\x09&& side_length_a+side_length_c>side_length_b

\x09&& side_length_c+side_length_b>side_length_a)

\x09{

\x09\x09return true;

\x09}

\x09else

\x09{

\x09\x09return false;

\x09}

}

void main()

{

\x09double coordinate[6];

\x09double sideLength[3];

\x09inputThreePoint(coordinate);

\x09getLength(coordinate,sideLength);

\x09if(isAngel(sideLength)==false)

\x09{

\x09\x09printf("输入的坐标不能构成三角形\n");

\x09}

\x09else

\x09{

\x09\x09printf("面积:%lf\n",getArea(sideLength));

\x09\x09printf("周长:%lf\n",getPerimeter(sideLength));

\x09}

}

解析看不懂?求助智能家教解答查看解答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值