用下面的数据类型分别表示点和矩形:
struct POINT { //点
int x, y; //坐标值x和y
} ;
struct RECT { //矩形
POINT lt, rb; //矩形的左上角和右下角
} ;
输入矩形两个点的坐标值x和y,再输入第3个点的坐标,判断第3个点是否在矩形的内部(不含边框)。
输入格式:输入整型,空格分隔。每行一个点的坐标。
输出格式:输出YES或者NO
输入:-20 20
20 -10
-20 -10
输出:NO
备注:矩形平行于x、y轴
思路:在内部的话,只要x坐标和y坐标分别大于4个端点中的最小值,小于最大值。在这个区间内就可以。
代码:
#include<stdio.h>
struct POINT
{
int x,y;
};
struct RECT
{
struct POINT lt,rb;
};
int main()
{
struct RECT rect;
struct POINT point;
scanf("%d %d",&(rect.lt.x),&(rect.lt.y));
scanf("%d %d",&(rect.rb.x),&(rect.rb.y));
scanf("%d %d",&(point.x),&(point.y));
//点在矩形内判断条件
if((point.x>rect.lt.x&&point.x<rect.rb.x)&&
(point.y<rect.lt.y&&point.y>rect.rb.y))
{
printf("YES");
}
else
{
printf("NO");
}
return0;
}
结果: