习题 4.12 有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)
来源:互联网 发布:淘宝网建达巧克力 编辑:程序博客网 时间:2024/06/07 02:00
C程序设计 (第四版) 谭浩强 习题4.12 个人设计
习题 4.12 有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。
圆的方程公式:(x−a)2+(y−b)2=1
代码块
方法1:(利用条件选择结构)
#include <stdio.h>#include <math.h>int main(){ int x, y, h; double p1, p2, p3, p4; //输入坐标 printf("Please enter coordinate: "); scanf("%d %d", &x, &y); //4个圆塔的坐标方程 p1 = pow(x-2, 2) + pow(y-2, 2); p2 = pow(x-2, 2) + pow(y+2, 2); p3 = pow(x+2, 2) + pow(y-2, 2); p4 = pow(x+2, 2) + pow(y+2, 2); //判断坐标是否在圆塔内并输出结果 (p1<=1 || p2<=1 || p3<=1 || p4<=1) ? h = 10 : h = 0; printf("The building height on this point is %d\n", h); return 0;}
方法2:(利用函数的模块化设计)
#include <stdio.h>#include <math.h>void input(); //定义输入函数void judge(int m, int n); //定义坐标判断函数int x, y; //定义全局变量坐标值int main(){ input(); //调用输入函数 judge(x, y); //调用坐标判断函数 return 0;}//输入函数void input(){ printf("Please enter coordinate: "); scanf("%d %d", &x, &y);}//坐标判断函数void judge(int m, int n){ int h; double p1, p2, p3, p4; p1 = pow(m-2, 2) + pow(n-2, 2); p2 = pow(m-2, 2) + pow(n+2, 2); p3 = pow(m+2, 2) + pow(n-2, 2); p4 = pow(m+2, 2) + pow(n+2, 2); (p1<=1 || p2<=1 || p3<=1 || p4<=1) ? h = 10 : h = 0; printf("The building height on this point is %d\n", h);}
阅读全文
0 0
- 习题 4.12 有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)
- 【c语言】有4个圆塔。圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1,这4个塔的高度为10, 塔以外无建筑物,今输入任意一点的坐标,求该点的建筑高度(塔外高度为0)
- c语言:有4个圆塔,已知圆心和半径,塔以外无建筑物。输入任一点坐标,求该点的建筑高度
- (1)判断是否为完全二叉树 (2)求二叉树的高度
- GridView、listView的高度为Wrap_content,高度包裹内容使用Integer.MAX_VALUE >> 2的原因
- hdu1077已知半径以及圆上2点求圆心 圆圈点的个数
- 动态设置View的宽高、宽高比例(设置ViewPager的高度,宽高比例为2:1)
- 求建筑物的高度
- 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(2,4,6,8,10,…),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值
- 求内切圆的圆心和半径(已知三个点的坐标)
- 求内切圆的圆心和半径(已知三个点的坐标)
- 二叉树的【深/高度】【度为0/1/2的结点数】【遍历】【查找】【销毁】
- 设置div的高度为屏幕高度
- Android学习笔记(二十三):GridVeiw的高度设置为屏幕高度的一半
- opencv学习-1.2-环境准备 && 1.2.2创建一幅宽度和高度为输入图像一半尺寸的图像 &&
- 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i<600)个,并
- 趣题:以无理点为圆心的圆周上最多有多少个有理点?
- 二叉树的高度 、销毁、链表的翻转(k为一组、n-m 之间)两种实现、
- 快速幂求a^b结果的最后一位
- 浅谈SVM
- 旋转数组中的最小数字
- Bootstrap初识
- 关于python中值传递和引用传递的问题
- 习题 4.12 有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)
- jQuery UI 工作原理
- 携程4月11日编程题 输出最大乘积 java
- 九、swift3.0可选类型+类型修饰符及其它
- Halcon算子函数[2]
- 基础算法题-链表相关
- java.util.Arrays
- 分布式系列文章——Paxos算法原理与推导
- 学习笔记—网页基础知识入门(二)