有四个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),半径为1,这四个塔的高度为10米,塔以外无建筑物。输入任意一点的坐标,求该点的建筑高度(塔以外的高度为零)。
#include <stdio.h>
#include <math.h>int main() {double x, y, height = 0;printf("请输入任意一点的坐标 (x, y):");scanf("%lf %lf", &x, &y);if ((pow(x - 2, 2) + pow(y - 2, 2) <= 1) ||(pow(x + 2, 2) + pow(y - 2, 2) <= 1) ||(pow(x + 2, 2) + pow(y + 2, 2) <= 1) ||(pow(x - 2, 2) + pow(y + 2, 2) <= 1)) {height = 10;}printf("该点的建筑高度为:%.2lf\n", height);return 0;
}
代码说明:
- 提示用户输入任意一点的坐标。
- 使用
if
语句判断输入点是否在任意一个圆塔内。判断条件是点到圆心的距离是否小于等于半径1(即(x - 圆心x)^2 + (y - 圆心y)^2 <= 1
)。 - 如果在任意一个圆塔内,则高度为10,否则高度为0。
- 输出建筑高度。