ACM常用算法(15)
发布时间:2021-06-06
发布时间:2021-06-06
ACM常考算法
area /= 2;
return(area < 0 ? -area : area); }
2.求三角形面积
语法:result=area3(float x1,float y1,float x2,float y2,float x3,float y3); 参数:
x1~3: 三角形3个顶点x坐标 y1~3: 三角形3个顶点y坐标 返回
三角形面积 值: 注意: 源程序:
需要 math.h
float area3(float x1,float y1,float x2,float y2,float x3,float y3) {
float a,b,c,p,s;
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3)); c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)); p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c)); return s; }
3.两矢量间角度
语法:result=angle(double x1,double y1,double x2,double y2); 参数:
x/y1~
两矢量的坐标 2: 返回
两的角度矢量 值: 注意: 源程序:
返回角度为弧度制,并且以逆时针方向为正方向 需要 math.h
#define PI 3.1415926
double angle(double x1,double y1,double x2,double y2) {