当前位置:首页 » 编程语言 » 判断点在圆内还是圆外c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

判断点在圆内还是圆外c语言

发布时间: 2022-11-01 11:58:53

c语言编程:由键盘输入一个点的坐标,判断这个点是否在单位圆内,在的话输出Y,否则输出N。

应该用fabs的,abs是求整数的,fabs是求小数的,
C语言很简单的,不需要题库,把书上的习题和例题的代码自己敲一遍就ok

㈡ C语言如何编判断点是否在圆上

//输入某个点A的平面坐标(x,y),判断(输出)A点是在圆内、圆外、还是在圆上,
//设这个圆的圆心是(a,b),半径为r。

#include <stdio.h>
main()
{ int x,y;
scanf("%d %d",x,y);
//如果点A(x,y)在圆内,则(x-a)*(x-a)+(y-b)*(y-b)<r
//如果点A(x,y)在圆上,则(x-a)*(x-a)+(y-b)*(y-b)=r
//如果点A(x,y)在圆外,则(x-a)*(x-a)+(y-b)*(y-b)>r
if(x-a)*(x-a)+(y-b)*(y-b)<r)
printf("点A在圆内");
else if(x-a)*(x-a)+(y-b)*(y-b)=r)
printf("点A在圆上");
elst if(x-a)*(x-a)+(y-b)*(y-b)>r)
printf("点A在圆外");
}

㈢ x*x+y*y=16是平面上的一个圆,编一个程序判断点(2,4)是在园内园外还是圆上 C语言。。

这要用到中学的几何知识,原理是将(2,4)代入上面圆的方程,如果大于16在圆外,小于16在圆内,等于16在圆上

参考代码如下:

#include<stdio.h>

intmain(){
floatx=2;
floaty=4;
floatchk=x*x+y*y;
if(chk<16){
printf("在圆内");
}elseif(chk>16){
printf("在圆外");
}else{
printf("在圆上");
}
}

执行结果如下:

㈣ C语言中输入一个点坐标(x,y),判断该点与圆x2+y2=25的位置关系是在圆内圆外还是在圆上。

#include <stdio.h>

int main()
{
float x,y,temp;
printf("输入点的坐标,用空格分割:\n");
scanf("%f%f",&x,&y);
temp=x*x+y*y;
if(temp<25)
printf("点在圆内");
else if(temp==25)
printf("点在圆上");
else printf("点在圆外");
return 0;
}

㈤ 一道c语言编程题目 请编写一个程序实现:判断平面上的某个点是否在某个圆的内部。要求如下: 1)定

#include<stdio.h>

typedef struct PP

{double x,y;}POINT;


typedef struct CC

{POINT O;

double r;}CIRCLE;


int incircle(POINT p,CIRCLE c1)

{return ((p.x-c1.O.x)*(p.x-c1.O.x)+(p.y-c1.O.y)*(p.y-c1.O.y)<=c1.r*c1.r);}


int main()

{POINT p1,p2;

CIRCLE C;

p1.x=1.0;

p1.y=1.0;

p2.x=-1.0;

p2.y=2.0;

C.O.x=0;

C.O.y=0;

C.r=2.0;

printf("%d ",incircle(p1,C));

printf("%d ",incircle(p2,C));

return 0;

}

㈥ 如何判断一个点在圆外还是在圆内 d和r 用的是两点式吗

解:
用的是两点式
设点的坐标为(x,y),圆心坐标(a,b),点到圆心的距离=d,圆的半径=r
d=√[(x-a)²+(y-b)²]=r(点在圆上)
d=√[(x-a)²+(y-b)²]>r(点在圆外)
d=√[(x-a)²+(y-b)²]<r(点在圆内)

㈦ 求c语言代码,要求读入圆心的坐标、圆的半径以及一个点的坐标,判断这个点是在圆内、圆上还是在圆外。

#include<stdio.h>
voidmain()
{
inta,b,c,d,r,k;
scanf("(%d,%d)%d(%d,%d)",&a,&b,&r,&c,&d);
k=(a-c)*(a-c)+(b-d)*(b-d)-r*r;
if(k>0)printf("点在圆外");
elseif(k<0)printf("点在圆内");
elseprintf("点在圆上");
}


运行示例截图:

已编译执行,无误。注意读取格式的规定,输入时格式不要输错

㈧ C++判断该点是在圆内部圆外还是圆上【等】

给你的代码稍微改了下,见注释:

#include<iostream>
#include<cmath>
usingnamespacestd;

/******************************/

classPoint
{
private:
intx;inty;
public:
Point(int=0,int=0);
intGetX()const{returnx;}//addconst
intGetY()const{returny;}
};

Point::Point(inta,intb):x(a),y(b)//初始化列表
{
//x=a;y=b;
}

/*****************************/

classCircle:publicPoint
{
private:
intRadius;
public:
Circle(intr=0,inta=0,intb=0):Point(a,b)
{
Radius=r;
}

intgetRadius()const//addconst
{
returnRadius;
}
voidJudje(constPoint&ptJ)const;//以形参传入要判断的点
};

voidCircle::Judje(constPoint&ptJ)const
{
intiChX=GetX()-ptJ.GetX();
intiChaY=GetY()-ptJ.GetY();
doubledLength=sqrt(iChX*iChX+iChaY*iChaY);
if(dLength>Radius)
{
cout<<"测试点不在圆范围内"<<endl;
//returntrue;
}
else
{
cout<<"测试点在圆范围内"<<endl;
//returnfalse;
}
}
/********************************/

intmain()
{
PointP(3,4);
cout<<"ThePointis:("<<P.GetX()<<","<<P.GetY()<<")"<<endl<<endl;
CircleC(5,6,7);
cout<<"ThePointis:("<<C.GetX()<<","<<C.GetY()<<")"<<endl;
cout<<"TheRadiusis:"<<C.getRadius()<<endl;
C.Judje(P);//add
return0;
}

运行结果:

The Point is:(3,4)


The Point is:(6,7)

The Radius is:5

测试点在圆范围内

请按任意键继续. . .

㈨ c语言判断一个点在圆外还是圆内,…我用面积算得,,可是怎么排除在圆上那个点

可以用点到圆心距离来算。
double cx,cy,r;
double x,y,d;
...
d = sqrt( (x-cx)*(x-cx) + (y-cy)*(y-cy));
if (d > r){ 内
} else if (d < r){ 外
} else {
圆周上
}

排除内,外。
因浮点数比较,难用 等于 判断,一般用 fabs(差)< eps; eps = 1e-10

㈩ 输入某个点A的平面坐标(x,y)判断(输出)A点是在圆内、圆外还是在圆周上,其中圆心坐标为(2,2)半径为1

#include<studio.h>
main()
{float x,y,a;
printf("Please Enter x and y:");
scanf("%f,%f",&x,&y);
a=(x-2)*(x-2)+(y-2)*(y-2);
if(a<1)
printf("A is in the circular");
if(a==1)
printf("A is on the circular");
else
printf("A is out the circular");

}