有4 个圆塔, 圆心分别为(2, 2), ( -2, 2), ( -2, -2), (2, -2), 圆半径为1,如图5 -2 所示。这4 个塔的高度为10m, 塔以外无建筑物。今输入任一点的坐标, 求该点的建筑高度(塔外的高度为零)。
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <stdio.h>
#include <math.h> int main() { int h = 0; float x, y, d1, d2, d3, d4; int a[4] = {2,-2,-2,2}; int b[4] = {2,2,-2,-2}; printf("Please enter the coordinates of a point: x= ,y= \n"); scanf("x=%f,y=%f", &x, &y); d1 = sqrt((a[0] – x) * (a[0] – x) + (b[0] – y) * (b[0] – y)); d2 = sqrt((a[1] – x) * (a[1] – x) + (b[1] – y) * (b[1] – y)); d3 = sqrt((a[2] – x) * (a[2] – x) + (b[2] – y) * (b[2] – y)); d4 = sqrt((a[3] – x) * (a[3] – x) + (b[3] – y) * (b[3] – y)); if((d1 < 1) || (d2 < 1) || (d3 < 1) || (d4 < 1)) { h = 10; } printf("The height of this point is: %d\n", h); return 0; } |