判斷點是否在某矩形中
[心得]
1.由於座標是 float 形式,不能用"等於"來判斷結束條件 9999.9
2.不能偷懶連續判斷"小於",要分開寫
#include <stdio.h>
#include <string.h>
int main()
{
float x1[10],x2[10],y1[10],y2[10];
float X[1000],Y[1000];
char input[2];
int m=1,n=1;
int i,j,flag;
while(scanf("%s",input))
{
if(input[0]=='*') break;
scanf("%f %f",&x1[m],&y2[m]);
scanf("%f %f",&x2[m],&y1[m]);
m++;
}
while(scanf("%f %f",&X[n],&Y[n]))
{
if((X[n]>=9999.9)&&(Y[n]>=9999.9)) break;
n++;
}
for(i=1;i<n;i++)
{
flag=0;
for(j=1;j<=m;j++)
{
if((x1[j]<X[i])&&(X[i]<x2[j])&&(y1[j]<Y[i])&&(Y[i]<y2[j]))
{
printf("Point %d is contained in figure %d\n",i,j);
flag=1;
}
}
if(flag==0) printf("Point %d is not contained in any figure\n",i);
}
return 0;
}
留言列表