4.编写程序,使用结构体类型,输入两个坐标点,求两点之间的横向距离和纵向距离
时间: 2024-03-19 07:45:03 浏览: 171
好的,以下是 C 语言的代码实现:
```c
#include <stdio.h>
#include <math.h>
struct Point {
int x;
int y;
};
int main() {
struct Point p1, p2;
printf("请输入第一个点的坐标(x1,y1):");
scanf("%d %d", &p1.x, &p1.y);
printf("请输入第二个点的坐标(x2,y2):");
scanf("%d %d", &p2.x, &p2.y);
// 计算横向距离和纵向距离
int dx = p2.x - p1.x;
int dy = p2.y - p1.y;
// 计算两点之间的距离
double distance = sqrt(dx*dx + dy*dy);
printf("两点之间的横向距离为:%d,纵向距离为:%d,总距离为:%f\n", dx, dy, distance);
return 0;
}
```
代码中定义了一个结构体类型 `Point`,包含两个 `int` 类型的成员变量 `x` 和 `y`,用于表示一个二维坐标点。在 `main` 函数中,先分别输入两个坐标点的横纵坐标,然后计算两点之间的横向距离和纵向距离(即两点的坐标差),最后利用勾股定理计算两点之间的距离,并输出结果。
相关问题
c语言输入两个点坐标并计算两点间距离
在C语言中,你可以通过定义结构体表示二维坐标,并编写函数来计算两点之间的欧氏距离。首先,创建一个结构体`Point`,包含两个整数`x`和`y`表示横纵坐标。然后编写一个函数`distance`接受两个`Point`类型的指针作为参数,计算它们之间的距离。这里是一个简单的示例:
```c
#include <stdio.h>
#include <math.h> // 包含数学库,用于取平方根
// 定义点的结构体
typedef struct {
int x;
int y;
} Point;
// 计算两点间距离的函数
double distance(const Point* p1, const Point* p2) {
double dx = p2->x - p1->x; // 横向差值
double dy = p2->y - p1->y; // 纵向差值
return sqrt(dx * dx + dy * dy); // 使用勾股定理计算距离,sqrt()函数求平方根
}
int main() {
Point point1, point2;
printf("请输入第一个点的坐标 (x, y): ");
scanf("%d %d", &point1.x, &point1.y);
printf("请输入第二个点的坐标 (x, y): ");
scanf("%d %d", &point2.x, &point2.y);
double dist = distance(&point1, &point2);
printf("两点间的距离是: %.2lf\n", dist); // 输出距离,保留两位小数
return 0;
}
```
阅读全文