以 C 语言精准测量距离183
在各种现实应用中,测量距离至关重要,例如工程、导航和机器人技术。C 语言以其高效和广泛的应用而著称,提供了强大的工具集,可用于准确计算距离。
欧几里得距离
欧几里得距离是两点之间直线距离的度量,由以下公式计算:```c
#include
double euclidean_distance(double x1, double y1, double x2, double y2) {
double dx = x2 - x1;
double dy = y2 - y1;
return sqrt(dx * dx + dy * dy);
}
```
曼哈顿距离
曼哈顿距离也称为城市块距离,它计算两点之间水平和垂直方向的距离总和:```c
double manhattan_distance(double x1, double y1, double x2, double y2) {
double dx = abs(x2 - x1);
double dy = abs(y2 - y1);
return dx + dy;
}
```
切比雪夫距离
切比雪夫距离取两点之间最大绝对差值:```c
double chebyshev_distance(double x1, double y1, double x2, double y2) {
double dx = abs(x2 - x1);
double dy = abs(y2 - y1);
return fmax(dx, dy);
}
```
海明距离
海明距离用于衡量两个字符串或二进制数之间的差异。它计算两字符串中相应位不同的数量:```c
int hamming_distance(char *str1, char *str2) {
int distance = 0;
int len = strlen(str1);
for (int i = 0; i < len; i++) {
if (str1[i] != str2[i]) {
distance++;
}
}
return distance;
}
```
举例:计算两点之间的欧几里得距离
假设我们有两个点,点 A (x1, y1) = (3, 4) 和点 B (x2, y2) = (7, 10)。使用欧几里得距离公式,我们可以计算它们之间的距离:```c
double x1 = 3;
double y1 = 4;
double x2 = 7;
double y2 = 10;
double distance = euclidean_distance(x1, y1, x2, y2);
printf("欧几里得距离:%.2lf", distance); // 输出:5.00
```
C 语言提供了强大的功能,可用于精准计算各种距离度量。通过选择适当的公式并实施高效的代码,程序员可以开发可靠的应用程序,在需要准确测量距离时发挥出色作用。
2025-02-07
上一篇:从 C 语言到其他语言的输出转换
下一篇:C 语言库函数详解
Java数组元素:从基础到高级操作的深度解析
https://www.shuihudhg.cn/134539.html
PHP Web应用的安全基石:全面解析数据库SQL注入防御
https://www.shuihudhg.cn/134538.html
Python函数入门到进阶:用简洁代码构建高效程序
https://www.shuihudhg.cn/134537.html
PHP中解析与提取代码注释:DocBlock、反射与AST深度探索
https://www.shuihudhg.cn/134536.html
Python深度解析与高效处理.dat文件:从文本到二进制的实战指南
https://www.shuihudhg.cn/134535.html
热门文章
C 语言中实现正序输出
https://www.shuihudhg.cn/2788.html
c语言选择排序算法详解
https://www.shuihudhg.cn/45804.html
C 语言函数:定义与声明
https://www.shuihudhg.cn/5703.html
C语言中的开方函数:sqrt()
https://www.shuihudhg.cn/347.html
C 语言中字符串输出的全面指南
https://www.shuihudhg.cn/4366.html