怎么求线段的长度编程

时间:2025-01-26 10:35:17 网络游戏

要求线段的长度,可以使用毕达哥拉斯定理,即两点之间的距离等于两点的横坐标之差的平方加上两点的纵坐标之差的平方的平方根。具体编程实现如下:

C语言版本

```c

include

include

int main() {

double Xa, Ya, Xb, Yb;

scanf("%lf%lf%lf%lf", &Xa, &Ya, &Xb, &Yb);

double len = sqrt((Xa - Xb) * (Xa - Xb) + (Ya - Yb) * (Ya - Yb));

printf("%.3f", len);

return 0;

}

```

C++版本

```cpp

include

include

using namespace std;

int main() {

double Xa, Ya, Xb, Yb;

cin >> Xa >> Ya >> Xb >> Yb;

double len = sqrt((Xb - Xa) * (Xb - Xa) + (Yb - Ya) * (Yb - Ya));

cout << fixed << setprecision(3) << len << endl;

return 0;

}

```

解释

输入

第一行输入点A的坐标 `(Xa, Ya)`。

第二行输入点B的坐标 `(Xb, Yb)`。

输出

输出线段AB的长度,保留到小数点后3位。

公式

使用毕达哥拉斯定理:`L = √((Xa - Xb)² + (Ya - Yb)²)`。

示例

假设输入为:

```

1 12

2 34

```

输出将是:

```

14.142

```

这个算法适用于任意两个点的距离计算,只要输入的坐标在有效范围内(例如,所有实数的绝对值不超过10000)。