c语言已知三点的坐标,求一个C语言算法:已知三角形的三个顶点的坐标,求三角形面积...

共回答了16个问题采纳率:87.5%

//三个顶点坐标是6个参数.

#include

#include

double S_triangle(double ax,double ay,double bx,double by,double cx,double cy)

{

double mx=cx-ax,my=cy-ay,nx=bx-ax,ny=by-ay;

double Lm= sqrt(mx*mx+my*my),Ln= sqrt(nx*nx+ny*ny),cosA=(mx*nx+my*ny)/Lm/Ln;

double sinA=sqrt(1-cosA*cosA);

double S_tri=0.5*Lm*Ln*sinA;

if(S_tri>=0)return S_tri;

else return (-1*S_tri);

}

void main()

{

double S_tri,ax,ay,bx,by,cx,cy;

ax=1;

ay=1;//第一个点的横纵坐标

bx=2;

by=2;//第二个点的横纵坐标

cx=1;

cy=2;//第三个点的横纵坐标

S_tri=S_triangle(ax,ay,bx,by,cx,cy);

printf("S_triangle=%lf",S_tri);

}

1年前

7

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值