方宿 2023-03-10 18:52 采纳率: 100%
浏览 41
已结题

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

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

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
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;
}

  • 写回答

4条回答 默认 最新

  • 快乐鹦鹉 2023-03-10 18:56
    关注

    半径为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;
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 3月10日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效