有四个圆塔,圆心分别为(2,2)、(-2,2)、(2,-2)、(-2,-2),圆半径为1.这四个塔的高度为10米。塔以外无建筑物。今输入一个点的坐标,求该点的建筑高度(塔外的高度为0m)

问题遇到的现象和发生背景

有四个圆塔,圆心分别为(2,2)、(-2,2)、(2,-2)、(-2,-2),圆半径为1.这四个塔的高度为10米。塔以外无建筑物。今输入一个点的坐标,求该点的建筑高度(塔外的高度为0m)

用代码块功能插入代码,请勿粘贴截图
#include
#include
int main()
{
    int x1=2,y1=2,x2=-2,y2=2,x3=2,y3=-2,x4=-2,y4=-2;
    int m,n,d1,d2,d3,d4;
    printf("输入一个点的坐标\n");
    scanf("%d%d",&m,&n);
    d1=sqrt((m-x1)*(m-x1)+(n-y1)*(n-y1));
    d2=sqrt((m-x2)*(m-x2)+(n-y2)*(n-y2));
    d3=sqrt((m-x3)*(m-x3)+(n-y3)*(n-y3));
    d4=sqrt((m-x4)*(m-x4)+(n-y4)*(n-y4)); 
    if(d1>1&&d2>1&&d3>1&&d4>1)
    printf("该点的高度为0");
    else 
    printf("该点的高度为10");
}

运行结果及报错内容

无论输入什么值,输出都为10

我想要达到的结果

哪里有问题,应如何改?

将所有int改为double
将%d%d改为%lf%lf