一个程序出现问题但不知道哪里错了,来个最强大脑!

题目:
在坐标系中,四个半径为1的圆,圆心分别为(2,2) (2,-2) (-2,2) (-2,-2)
要求输入一个坐标,输入坐标如果在任意一个圆内,则输出“内容1”,反之输出“内容2“。
下面是我写的,但是输出结果只会是”内容1“,即在圆内的情况,怎么解决呀,求解答qwq

#define _CRT_SECURE_NO_WARNINGS 1
#include
#include
int main()
{
    int x, y;
    int s;
    scanf("(%d,%d)", &x, &y);
    int a,b,c,d;
    a = (x - 2) * (x - 2) + (y - 2) * (y - 2);
    b = (x + 2) * (x + 2) + (y - 2) * (y - 2);
    c = (x - 2) * (x - 2) + (y + 2) * (y + 2);
    d = (x + 2) * (x + 2) + (y + 2) * (y + 2);
    if (a <= 1)
    {
        printf("塔的高度为10m");
    }
    else if (b <= 1)
    {
        printf("塔的高度为10m");
    }
    else if (c <= 1)
    {
        printf("塔的高度为10m");
    }
    else if (d <= 1)
    {
        printf("塔的高度为10m");
    }
    else
    {
        printf("塔的高度为0");
    }

    return 0;
}

半径为1,要在圆内,那距离必然是小于1的值,所以a,b,c,d都必须定义为浮点型,不能为整形啊
而且坐标也最好是浮点数,否则只能整数的话,你只有输入圆心坐标才可能在圆内,其它任何整形坐标都在圆外

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int main()
{
    double x, y;
    int s;
    scanf("(%lf,%lf)", &x, &y);
    double  a,b,c,d;
    a = (x - 2) * (x - 2) + (y - 2) * (y - 2);
    b = (x + 2) * (x + 2) + (y - 2) * (y - 2);
    c = (x - 2) * (x - 2) + (y + 2) * (y + 2);
    d = (x + 2) * (x + 2) + (y + 2) * (y + 2);
    if (a <= 1)
    {
        printf("塔的高度为10m");
    }
    else if (b <= 1)
    {
        printf("塔的高度为10m");
    }
    else if (c <= 1)
    {
        printf("塔的高度为10m");
    }
    else if (d <= 1)
    {
        printf("塔的高度为10m");
    }
    else
    {
        printf("塔的高度为0");
    }
 
    return 0;
}
 

还有一个问题,两个数平方了,开方呢

输入应该要加括号
输入2 2答案是0
输入(2,2)答案是10m