C语言计算两点距离:二维空间结构体应用
C语言计算两点距离:二维空间结构体应用
本文将介绍如何使用 C 语言结构体来描述二维空间中的点,并通过勾股定理计算两点之间的距离。
问题描述:
定义一个结构体类型,用于表示二维空间中的点,包括 x 轴和 y 轴坐标值。输入两个点的坐标,输出它们之间的距离,输出格式为:%.2f。
输入形式:
两个点的坐标,以空格隔开。
输出形式:
距离,保留两位小数。
样例输入:
1.2 2.6
3.2 10.4
样例输出:
8.05
解题思路:
根据勾股定理可知,两点之间的距离公式为:d=sqrt((x2-x1)^2+(y2-y1)^2),因此可以先计算出两点之间的 x 轴和 y 轴坐标差值,然后代入公式计算距离即可。
参考代码:
#include <stdio.h>
#include <math.h>
// 定义二维空间中的点结构体
struct Point {
double x;
double y;
};
int main() {
struct Point p1, p2;
double distance;
// 输入两个点的坐标
scanf("%lf %lf", &p1.x, &p1.y);
scanf("%lf %lf", &p2.x, &p2.y);
// 计算两点之间的距离
distance = sqrt(pow(p2.x - p1.x, 2) + pow(p2.y - p1.y, 2));
// 输出距离
printf("%.2f", distance);
return 0;
}
代码解析:
- 首先定义一个名为
Point的结构体,包含x和y两个成员,分别表示点的横坐标和纵坐标。 - 在
main函数中,声明两个Point类型的变量p1和p2,分别用于存储两个点的坐标。 - 使用
scanf函数从标准输入读取两个点的坐标,并分别存储在p1和p2的成员中。 - 利用
sqrt和pow函数计算两点之间的距离,并将结果存储在distance变量中。 - 最后使用
printf函数输出distance变量的值,保留两位小数。
总结:
本文介绍了如何使用 C 语言结构体来描述二维空间中的点,并通过勾股定理计算两点之间的距离。代码简洁易懂,便于理解和应用。
原文地址: https://www.cveoy.top/t/topic/os69 著作权归作者所有。请勿转载和采集!