求两点间的距离#include <stdio.h> #include <math.h> typedef struct { double x, y; } POINT; int main() { POINT a, b; double s, p, q; scanf("%lf %lf", &a.x, &a.y); scanf("%lf %lf", &b.x, &b.y); printf("%g\n", s);
时间: 2024-01-14 10:03:05 浏览: 77
你可以使用勾股定理求解两点之间的距离,具体代码如下:
```c
#include <stdio.h>
#include <math.h>
typedef struct {
double x, y;
} POINT;
int main() {
POINT a, b;
double s, p, q;
scanf("%lf %lf", &a.x, &a.y);
scanf("%lf %lf", &b.x, &b.y);
p = a.x - b.x;
q = a.y - b.y;
s = sqrt(p * p + q * q);
printf("%g\n", s);
return 0;
}
```
其中,p和q分别代表两个点在x轴和y轴上的坐标差值,s为两点之间的距离,使用了数学库中的sqrt函数来求解根号。
相关问题
#include <stdio.h> #include <math.h> typedef struct { double x, y; } POINT; int main() { POINT a, b; double s, p, q; scanf("%lf %lf", &a.x, &a.y); scanf("%lf %lf", &b.x, &b.y); /* 你提交的代码将被嵌在这里 */ printf("%g\n", s); return 0; }
下面是计算两点间距离并输出的代码:
```c
#include <stdio.h>
#include <math.h>
typedef struct {
double x, y;
} POINT;
int main() {
POINT a, b;
double s, p, q;
scanf("%lf %lf", &a.x, &a.y);
scanf("%lf %lf", &b.x, &b.y);
// 计算两点间距离
s = sqrt(pow(a.x - b.x, 2) + pow(a.y - b.y, 2));
// 输出结果
printf("%g\n", s);
return 0;
}
```
输入格式为两行,每行两个实数,分别代表两个点的坐标。输出格式为一个实数,代表两点间距离。
定义如下点结构类型 typedef struct { double x, y; } POINT; 说明:x 和 y 分别为点的横坐标和纵坐标。 下面的程序输入两个点的坐标,求两点间的距离并输出。 #include <stdio.h> #include <math.h> typedef struct { double x, y; } POINT; int main() { POINT a, b; double s, p, q; scanf("%lf %lf", &a.x, &a.y); scanf("%lf %lf", &b.x, &b.y); /* 你提交的代码将被嵌在这里 */ printf("%g\n", s); return 0; }
以下是代码实现:
```
#include <stdio.h>
#include <math.h>
typedef struct {
double x, y;
} POINT;
int main() {
POINT a, b;
double s, p, q;
scanf("%lf %lf", &a.x, &a.y);
scanf("%lf %lf", &b.x, &b.y);
p = a.x - b.x;
q = a.y - b.y;
s = sqrt(p * p + q * q);
printf("%g\n", s);
return 0;
}
```
输入格式为:
```
1 2
4 6
```
输出格式为:
```
5
```
注意,这里直接使用了勾股定理计算两点间的距离,不需要调用 pow 函数。输出格式使用了 %g,可以自动选择输出浮点数或整数。
阅读全文