用c语言计算两点之间的距离公式
时间: 2024-10-27 18:10:21 浏览: 20
求两点距离(C语言)
5星 · 资源好评率100%
在C语言中,计算两点之间欧几里得距离通常使用的公式是:
```c
double distance(double x1, double y1, double x2, double y2) {
// 欧氏距离公式:sqrt((x2-x1)^2 + (y2-y1)^2)
double dx = x2 - x1;
double dy = y2 - y1;
return sqrt(dx * dx + dy * dy);
}
```
这里,`x1` 和 `y1` 是第一个点的坐标,`x2` 和 `y2` 是第二个点的坐标。函数返回的是两个点之间的直线距离。注意,为了计算平方根,你需要包含 `<math.h>` 头文件,并使用 `sqrt()` 函数。
如果你需要计算多组点的距离,你可以将这个函数封装在一个循环结构中。例如:
```c
#include <stdio.h>
#include <math.h>
void calculate_distances(int n, double points[][2], double result[]) {
for (int i = 0; i < n - 1; i++) {
double dist = distance(points[i][0], points[i][1], points[i+1][0], points[i+1][1]);
result[i] = dist;
printf("Point %d to Point %d: %.2f\n", i+1, i+2, dist);
}
}
// 使用示例
int main() {
double point1[2] = {0, 0};
double point2[2] = {3, 4};
double distances[3]; // 假设我们有三个点
calculate_distances(3, (double(*)[2]){point1, point2, {5, 6}}, distances);
return 0;
}
```
阅读全文