c 语言判断一个点是否在三角形的外接圆内
#include<stdio.h>#include<math.h>intmain(){floatx1,x2,x3,y1,y2,y3,A1,A2,B1,B2,C1,C2,x...
#include<stdio.h>
#include<math.h>
int main()
{
float x1,x2,x3,y1,y2,y3,A1,A2,B1,B2,C1,C2,x,y,l,m,r,d;
scanf("%f %f",&x1,&y1);
scanf("%f %f",&x2,&y2);
scanf("%f %f",&x3,&y3);
scanf("%f %f",&l,&m);
A1=2*(x2-x1);
B1=2*(y2-y1);
C1=x2*x2+y2*y2-x1*x1-y1*y1;
A2=2*(x3-x2);
B2=2*(y3-y2);
C2=x3*x3+y3*y3-x2*x2-y2*y2;
x=((B2*C1)-(B1*C2))/((B2*A1)-(B1*A2));
y=(-(A2*C1)+(A1*C2))/((B2*A1)-(B1*A2));
r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
d=sqrt((x-l)*(x-l)+(y-m)*(y-m));
if(d>r) printf("NO");
else printf("YES");
return 0;
}
前三次输入为三角形三个顶点 第四次为判断的点 请问我错在哪里?疏忽了什么? 展开
#include<math.h>
int main()
{
float x1,x2,x3,y1,y2,y3,A1,A2,B1,B2,C1,C2,x,y,l,m,r,d;
scanf("%f %f",&x1,&y1);
scanf("%f %f",&x2,&y2);
scanf("%f %f",&x3,&y3);
scanf("%f %f",&l,&m);
A1=2*(x2-x1);
B1=2*(y2-y1);
C1=x2*x2+y2*y2-x1*x1-y1*y1;
A2=2*(x3-x2);
B2=2*(y3-y2);
C2=x3*x3+y3*y3-x2*x2-y2*y2;
x=((B2*C1)-(B1*C2))/((B2*A1)-(B1*A2));
y=(-(A2*C1)+(A1*C2))/((B2*A1)-(B1*A2));
r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
d=sqrt((x-l)*(x-l)+(y-m)*(y-m));
if(d>r) printf("NO");
else printf("YES");
return 0;
}
前三次输入为三角形三个顶点 第四次为判断的点 请问我错在哪里?疏忽了什么? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询