C语言函数三点求面积 c语言函数调用求三角形面积

C语言,求三角形的面积 。输入平面上的三个点的坐标(X1,Y1)(X2,Y2)(X3,Y3)?先求出两点之间的距离,a=√(x1-x2)^2 (y1-y2)^2,b=√(x2-x3)^2 (y2-y3)^2,c=√(x1-x3)^2 (y1-y3)^2 。再用海伦公式求三角形的面积s=√p(p-a)(p-b)(p-c),其中p=(a b c)/2 。
关于用C语言求三点坐标围成的面积的问题#includestdio.h
#includemath.h
int main()//C99标准写法
【C语言函数三点求面积 c语言函数调用求三角形面积】{
double x1,x2,x3,y1,y2,y3,s,a,b,c,p;
printf("请输入A,B,C点坐标:");
scanf("(%lf,%lf),(%lf,%lf),(%lf,%lf)",x1,y1,x2,y2,x3,y3);//输入格式不对C语言函数三点求面积,
//请看下面解释;另外输入时,应这样输入 , 比如C语言函数三点求面积:(0,0),(0,4),(4,0)
a=sqrt(pow((x1-x2),2) pow((y1-y2),2));
b=sqrt(pow((x2-x3),2) pow((y2-y3),2));
c=sqrt(pow((x1-x3),2) pow((y1-y3),2));
p=(a b c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三点所围成C语言函数三点求面积的面积=%f\n",s);//输出格式不对,请看下面解释
return 0;
}
说明C语言函数三点求面积:
(1)printfC语言函数三点求面积的%f说明符既可以输出float型又可以输出double型 。
根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型 。因此printf()只会看到双精度数 。
(2)scanf对于float类型必须用%f,double必须用%lf
对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升 。(通过指针)向float存储和向double存储大不一样,因此,scanf区别%f和%lf 。
(3)事实上,printf没有定义%lf,但很多系统可能会接受它.为确保可移植性,请坚持使用%f 。
要想保留小数位数,请使用(比如保留8位小数):
printf("%.8f",a);
求一个C语言算法:已知三角形的三个顶点的坐标,求三角形面积//三个顶点坐标是6个参数 。。。
#include stdio.h
#include math.h
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;//第一个点C语言函数三点求面积的横纵坐标
bx=2;
by=2;//第二个点C语言函数三点求面积的横纵坐标
cx=1;
cy=2;//第三个点的横纵坐标
S_tri=S_triangle(ax,ay,bx,by,cx,cy);
printf("S_triangle=%lf",S_tri);
}
C语言函数三点求面积的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言函数调用求三角形面积、C语言函数三点求面积的信息别忘了在本站进行查找喔 。

    推荐阅读