C语言编写一个求两点距离公式,求三角形面积

#include #include float b(float x,float y,float m,float n) { float d; #include #include float b(float x,float y,float m,float n) { float d; d=sqrt((x-m)*(x-m)+(y-n)*(y-n)); return(d); } int main() { float x1,x2,x3,y1,y2,y3,m,n,x,y,d1,d2,d3,s,q,d; scanf("(%d,%d)(%d,%d)(%d,%d)",&x1,&y1,&x2,&y2,&x3,&y3); x=x1,y=y1,m=x2,n=y2; d1=b(x,y,m,n); x=x1,y=y1,m=x3,n=y3; d2=b(x,y,m,n); x=x3,y=y3,m=x2,n=y2; d3=b(x,y,m,n); q=(d1+d2+d3)/2; s=sqrt(q*(q-d1)*(q-d2)*(q-d3)); printf("面积为%f",s);} error C2064: term does not evaluate to a function }

第1个回答  2019-05-10
//三个顶点坐标是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);
}
相似回答