gpt4 book ai didi

XY 平面上的点的计算

转载 作者:行者123 更新时间:2023-11-30 16:25:08 25 4
gpt4 key购买 nike

#include <stdio.h>

int main(double x, double y, double x1, double y1, double x2, double y2)
{
// First corner (botton left) of the rectangle
printf("Choose x and y for the first corner that the rectangle should start:\n");
scanf("%lf%lf", &x1, &y1);

// Opposite corner(top right) that should make the rectangle possible
printf("Choose x and y for the first corner that the rectangle should end:\n");
scanf("%lf%lf", &x2, &y2);

// The position of the point that should be checked
printf("Choose the x and y that should be checked:\n");
scanf("%lf%lf", &x, &y);
if (x1 < x < x2 && y1 < y < y2)
{
return 5;
}
else if (x1 == x && x == x2 && y1 == y && y == y2)
{
return 3;
}
else
{
return 0;
}

system("pause");

}

我在计算时遇到了一个小问题。

我试图让程序告诉我一个点是在矩形内部、边缘还是外部,但我总是得到结果 5,即使它不在矩形内部。

另外,我不确定我是否错过了在某处提到“double x,double y,...”,或者我是否应该像 scanf 语句那样写?

最佳答案

您应该尝试替换此测试

if (x1 < x < x2 && y1 < y < y2)

if (x1 < x && x < x2 && y1 < y && y < y2)

关于你的第二个测试,除非 x1=x2 且 y1=y2 ,否则它永远不会成立,即你的矩形实际上是一个点。替换为

else if ( (x1 == x || x == x2) && (y1 == y || y == y2))

关于XY 平面上的点的计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53500398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com