4.12题:有4个圆塔, 圆心分别为(2, 2)、(-2, 2)、(-2, -2)、(2, -2), 圆半径为1, 见图。这4个塔的高度为10m, 塔以外无建筑物。今输入任一点的坐标,求该点的建筑高

4.12题:有4个圆塔, 圆心分别为(2, 2)、(-2, 2)、(-2, -2)、(2, -2), 圆半径为1, 见图。这4个塔的高度为10m, 塔以外无建筑物。今输入任一点的坐标,求该点的建筑高题目 本题是 谭浩强 c 程序设计 4 12 题 题目 有 4 个圆塔 圆心分别为 2 2 2 2 2 2 2 2 圆半径为 1 见图 这 4 个塔的高度为 10m 塔以外无建筑物 今输入任一点的坐标 求该点的建筑高度 塔外的高度为零 以下是本篇文章正文内容 欢迎朋友们进行指正

大家好,我是讯享网,很高兴认识大家。

题目

本题是《谭浩强c程序设计》4.12题。
题目:
有4个圆塔, 圆心分别为(2, 2)、(-2, 2)、(-2, -2)、(2, -2), 圆半径为1, 见图。这4个塔的高度为10m,
塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。
请添加图片描述
讯享网


以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj

一、解题思路

二、代码部分

1.引入库

代码如下(示例):

#include<stdio.h> #include<math.h> 

讯享网

2.主函数部分

代码如下(示例):

讯享网int main() { 
    //在圆内:高度10,不在圆内:高度0; int r = 1; printf("请输入任意一点的坐标:"); int a, b; int x, y; float c; scanf("%d %d", &a, &b); x = fabs(a); y = fabs(b);//先将a和b的坐标取绝对值 c = sqrt((x - 2) * (x - 2) + (y - 2) * (y - x));//sqrt是求平方根公式,c是求点到圆心的距离为多少,公式为根号下x1-x2的平方+y1-y2的平方 if (c > r) printf("0");//当求出的点到圆心的距离大于半径,说明不在圆塔上,高度为0 else printf("10");//当求出的点到圆心的距离小于等于半径,说明在圆塔上,高度为10 return 0; } 

三、执行结果

在这里插入图片描述

输入:

请输入任意一点的坐标:2 0 

输出:

讯享网0 
小讯
上一篇 2025-04-10 23:25
下一篇 2025-03-09 22:52

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/50669.html