落点问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 03:26:38
有4个圆形,圆点分别为 2,2 -2,2 2,-2 -2,-2
半径为1
求输入任何一坐标点在圆内或者圆上 输出1
不在圆内输出0.
解题思路有, 就是判断这点和圆心的距离长短.
问题就是在不同4个区内,负数怎么去运算?

哈哈,这个我们以前也做过。给你两份源代码。第一份是总体上判断,第二份是分开判断。
#include<stdio.h>
int circle(float x1,float y1,int x,int y);
int main()
{
float x,y;
printf("请输入任意一点的坐标:\n");
printf("x=");
scanf("%f",&x);
printf("y=");
scanf("%f",&y);
if(circle(x,y,2,2)||circle(x,y,2,2)||circle(x,y,2,2)||circle(x,y,2,2))
printf("1\n");
else
printf("0\n");
return 0;

}

int circle(float x1,float y1,int x,int y)
{
if((x1-x)*(x1-x)+(y1-y)*(y1-y)>1)
return 0;
else
return 1;
}

///////////////////////////////////////////////////////////////
#include<stdio.h>
void circle(float x1,float y1,int x,int y);
int main()
{
float x,y;
printf("请输入任意一点的坐标:\n");
printf("x=");
scanf("%f",&x);
printf("