指向矩形内部

And*_*usK 3 c point rectangles

我想问这个功能是否正确.它应检查点是否在矩形内部,如果是,则将其打印出来.

#include <stdio.h>
#include <stdlib.h>

typedef struct {
  int x;
  int y;
}point;

typedef struct {
  point A;
  point B;
}rectangle;

int main() {
rectangle s;
point T;
printf("Enter rectangle A point x coordinate :\n" );
scanf("%d", &s.A.x);
printf("Enter rectangle A point y coordinate :\n" );
scanf("%d", &s.A.y);
printf("Enter rectangle B point x coordinate :\n" );
scanf("%d", &s.B.x);
printf("Enter rectangle B point y coordinate :\n" );
scanf("%d", &s.B.y);    
printf("\nrectangle - A(%d, %d), B(%d, %d) \n", s.A.x, s.A.y, s.B.x, s.B.y );

for(int i =0; i<2; i++){ 
printf ("X: ");
scanf ("%d", &T.x);
printf ("Y: ");
scanf ("%d", &T.y);
} 

int is_inside(point A, point B){
if((s.A.x <= T.x) && (T.x <= s.B.x) && (s.A.y <= T.y) && (T.y <= s.B.y)) printf("Point (%d, %d)is inside rectangle \n",T.x, T.y);
else printf("No");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)

添加整个代码可能对你们来说更清楚.

das*_*ght 7

此功能不正确.它编译,但它没有做你想要它做*.

数学条件如这一个

x0 <= X <= x1
Run Code Online (Sandbox Code Playgroud)

在C中写如下:

x0 <= X && X <= x1
Run Code Online (Sandbox Code Playgroud)

你的病情应该是这样的:

if (s.A.x<=T.x && T.x<=s.B.x && s.A.y<=T.y && T.y<=s.B.y)
Run Code Online (Sandbox Code Playgroud)


*s.A.x<= T.x然后比较比较结果s.B.x