问题描述
如何在数组中找到坐标为 (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);
}