椭圆abc分别代表什么

题目 本题是《谭浩强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

一、解题思路

思路:
先输入一个坐标,对这个坐标的行和列取绝对值,然后代入公式计算点到圆心的距离,当距离大于半径时,高度为0,当距离小于半径时,高度为10m。

二、代码部分

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
知秋君
上一篇 2024-07-10 20:36
下一篇 2024-07-10 20:02

相关推荐