如何在数组中找到坐标为 (x1, y1) 和 (x2, y2) 的两点之间的直线长度?

问题描述

如何在数组中找到坐标为 (x1,y1) 和 (x2,y2) 的两点之间的直线长度?例如,我有 2 个数组:arrayX[10] 和 arrayY[10]。

我必须在循环中找到以下操作的结果并将它们保存在结果数组中:

sqrt((arrayX[0]- arrayX[1])^2+(arrayY[0]-arrayY[1]^2))

sqrt((arrayX[1]- arrayX[2])^2+(arrayY[1]-arrayY[2]^2))

.

.

.

解决方法

在 C 中没有求幂运算符。要计算 x^2,请使用 x * x 中的 pow(x,2)math.h

可能的解决方案

double dist[9];
for (int i = 0; i + 1 < 10; ++i) {
   double dx = arrayX[i]- arrayX[i + 1];
   double dy = arrayY[i]- arrayY[i + 1];
   dist[i] = sqrt(dx *dx + dy * dy);
}