當前位置:首頁 » 編程語言 » 判斷點在圓內還是圓外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");

}