有四个圆塔,圆心分别为(2,2)、(-2,2)、(2,-2)、(-2,-2),圆半径为1.这四个塔的高度为10米。塔以外无建筑物。今输入一个点的坐标,求该点的建筑高度(塔外的高度为0m)?
首先将四个点表示出来,然后输入点坐标,计算到各个圆心的距离,只有当四个距离都大于1时,建筑高度为0,负责为10.
代码已经过编译,可直接使用
#include<stdio.h>
int main()
{
int x1=2,y1=2,x2=-2,y2=2,x3=2,y3=-2,x4=-2,y4=-2;
int m,n,d1,d2,d3,d4;
printf("输入一个点的坐标(x,y)\n");
scanf("%d%d",&m,&n);
d1=(m-x1)*(m-x1)+(n-y1)*(n-y1);
d2=(m-x2)*(m-x2)+(n-y2)*(n-y2);
d3=(m-x3)*(m-x3)+(n-y3)*(n-y3);
d4=(m-x4)*(m-x4)+(n-y4)*(n-y4);
if(d1>1&&d2>1&&d3>1&&d4>1)//比较
printf("该点的高度为0");
else printf("该点的高度为10");
}