有4个圆塔

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:24:55
有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1。塔高为10米,塔外无其它建筑物,今输入任一点的坐标,求该点的建筑高度(塔外高度为0)。
main()
{
int h=10;
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y2=-2;
float x,y,d1,d2,d3,d4;
printf(“input a point(x,y):”);
scanf(“%f,%f”,&x,&y);
d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);
d2=(x-x2)*(x-x2)+(y+y2)*(y+y2);
d3=(x+x3)*(x+x3)+(y-y3)*(y-y3);
d4=(x+x4)*(x+x4)+(y+y4)*(y+y4);
if (d1>1 && d2>1 && d3>1 && d4>1) h=0;
printf(“the high of this point is:%d\n”,h);
}

帮我在旁边打上注释

main()
{
int h=10; //设置h的值为塔高10米
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y2=-2;//定义各塔的圆心坐标
float x,y,d1,d2,d3,d4; //x,y:用来保存输入的坐标值,d1,d2,d3,d4:用来保存计算后的值
printf(“input a point(x,y):”);//输入任一点的坐标
scanf(“%f,%f”,&x,&y); //输出
d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);//计算点是否在d1中
d2=(x-x2)*(x-x2)+(y+y2)*(y+y2); //计算点是否在d2中
d3=(x+x3)*(x+x3)+(y-y3)*(y-y3); //计算点是否在d3中
d4=(x+x4)*(x+x4)+(y+y4)*(y+y4); //计算点是否在d4中
if (d1>1 && d2>1 && d3>1 && d4>1) h=0; //判断,如果点不在d1,d2,d3,d4中,说明点不在塔上,高度h为0
printf(“the high of this point is:%d\n”,h);//输出高度h
}

main()
{
int h=10; /*定义塔高*/
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y2=-2; /*定义各个塔的中心坐标*/
float x,y,d1,d2,d3,d4; /*定义任意点的坐标和该点到各个塔中心的距离*/
printf(“input a point(x,y):”); /*提示输入数据*/
scanf(“%f,%f”,&x,&y); /*输入数据*/
d1=(x-x1)*(x-x1)+(y-y1)*(y-y1); /*任意点到第一个塔的距离*/
d2=(x-x2)*(x-x2)+(y+y2)*(y+y2); /*任意点到第二个塔的距离*/
d3=(x+x3)*(x+x3)