有4个圆塔,圆心分别为(2,2),(-2.2),(-2,-2),(2,-2),圆半径为1,见图4.17。这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。

#include<stdio.h>
int main()
{
double a,b;
scanf("%d %d",&a,&b);
if(a<0) a=-a;
if(b<0) b=-b;
if((a-2)*(a-2)+(b-2)*(b-2)<=1&&(a-2)*(a-2)+(b-2)*(b-2)>=0)
printf("%d",10);
else
printf("%d",0);
return 0;
}

img

(a-2)(a-2)+(b-2)(b-2)>=0
这个没用,从数学上它就绝对成立,你写多了反而出bug,去掉。
scanf("%d %d",&a,&b);
改为
scanf("%lf %lf",&a,&b);
你把double当int型取值,它会变得非常大

判断点到任意一个圆心的距离是否小于1