习题5-3 使用函数计算两点间的距离 (10 分)答案

本题要求实现一个函数,对给定平面任意两点坐标(x​1​​,y​1​​)和(x​2​​,y​2​​),求这两点之间的距离。

函数接口定义:

double dist( double x1, double y1, double x2, double y2 );

其中用户传入的参数为平面上两个点的坐标(x1, y1)和(x2, y2),函数dist应返回两点间的距离。

 

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

double dist(double x1, double y1, double x2, double y2)
{
	double Pow,dist;
	Pow=pow((y2 - y1), 2) + pow((x2 - x1), 2);
	dist=sqrt(Pow);
	return dist;
}


int main()
{
	double x1, y1, x2, y2;

	scanf_s("%lf %lf %lf %lf", &x1, &y1, &x2, &y2);
	printf_s("dist = %.2f\n", dist(x1, y1, x2, y2));

	return 0;
	getchar();
}

 

### 回答1: 这道题是让求解两个点之距离,可以使用以下公式:两点距离 = sqrt((x2-x1)^2 + (y2-y1)^2) 。其中,sqrt表示开方,x2、y2别表示第二个点的横纵坐标,x1、y1别表示第一个点的横纵坐标。根据公式,通过输入两个点的坐标,即可利用函数进行计算,最后输出两点距离即可。 ### 回答2: 题目要求我们使用函数计算两点距离。要解决这个问题,我们需要先明确什么是距离距离是指物体或空两点隔长度。例如,在平面直角坐标系中,两点距离可以使用勾股定理计算。因此,我们可以将勾股定理封装成一个函数计算两点距离函数的定义如下: def distance(x1, y1, x2, y2): dx = x2 - x1 dy = y2 - y1 return (dx ** 2 + dy ** 2) ** 0.5 在这个函数中,我们定义了四个参数,别表示两个点的横坐标和纵坐标。函数内部首先计算两点在横轴和纵轴的距离差,然后再计算它们的平方和,并取平方根后返回结果,这就是两点距离使用这个函数计算两点距离非常简单。我们只需要传递两个点的横纵坐标给函数,即可得到它们之距离。例如: print(distance(1, 2, 4, 6)) 上面的代码将输出 5.0,表示点(1,2)和点(4,6)之距离是5。 总之,使用函数计算两点距离是一种非常实用的方法,它使我们可以在程序中方便地计算距离,而不用手动解算。 ### 回答3: 题目中要求我们编写一个函数,用于计算两点距离。这里需要用到勾股定理,即在平面直角坐标系中,两点 $(x_1,y_1)$ 和 $(x_2,y_2)$ 之距离为 $d=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}$。因此,我们需要写出如下的 Python 函数: ```python def distance(x1, y1, x2, y2): """ 计算两点距离 """ return ((x2-x1)**2 + (y2-y1)**2) ** 0.5 ``` 其中,`x1` 和 `y1` 是第一个点的横纵坐标,`x2` 和 `y2` 是第二个点的横纵坐标。函数中用两次幂运算和开方运算来计算两点距离,返回结果为一个浮点数,即两点距离。可以在函数中加上文档字符串来说明函数的功能和使用方法。 如果使用 `input()` 函数来获取两个点的坐标,可以像下面一样编写主程序: ```python x1, y1 = map(int, input("请输入第一个点的坐标(以空格隔开):").split()) x2, y2 = map(int, input("请输入第二个点的坐标(以空格隔开):").split()) print("两点距离为:", distance(x1, y1, x2, y2)) ``` 这里用 `map()` 函数将输入的字符串转换为整数,再传入 `distance()` 函数计算距离。程序输出距离结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值