c程序设计第四版谭浩强
如下图所示,有4个圆塔,圆心分别为(2,2)、(- 2,2)、(- 2,- 2)、(2,- 2),圆半径为 1 ,这4个圆塔高度10cm, 塔以外无建筑物。今输入任一点的坐标,求该点的建筑物高度(塔外的高度为零)。
网友的分析:如果坐标在塔的范围内,那么高度是10m,在塔的范围外高度就是0m.
这个题主要就是判断输入的坐标在不在圆塔的范围之内!
以下是谭浩强c语言程序设计第四版的标准答案:
【c源程序】
#include <stdio.h>
int main()
{
int h=10;
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;
printf("请输入一个点(x,y):");
scanf("%f,%f",&x,&y);
d1=(x-x4)*(x-x4)+(y-y4)*(y-y4); /*求该点到各中心点距离*/
d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);
d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);
d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);
if (d1>1 && d2>1 && d3>1 && d4>1) h=0; /*判断该点是否在塔外*/
printf("该点高度为 %d\n",h);
return 0;
}
本文链接:http://www.wb98.com/c/post/tanhaoqiang_4.12.html
本站文章搜索: