定义如下点结构类型 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; }
时间: 2024-01-13 21:03:39 浏览: 116
以下是代码实现:
```
#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,可以自动选择输出浮点数或整数。
相关问题
6-1 求两点间的距离(填空) 分数 5 作者 李祥 单位 湖北经济学院 定义如下点结构类型 typedef struct { double x, y; } POINT; 说明:x 和 y 分别为点的横坐标和纵坐标。 下面的程序输入两个点的坐标,求两点间的距离并输出。
以下是代码实现:
```
#include <stdio.h>
#include <math.h>
typedef struct {
double x, y;
} POINT;
int main() {
POINT p1, p2;
double distance;
printf("请输入第一个点的坐标(x1, y1):");
scanf("%lf %lf", &p1.x, &p1.y);
printf("请输入第二个点的坐标(x2, y2):");
scanf("%lf %lf", &p2.x, &p2.y);
distance = sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
printf("两点间的距离为:%lf\n", distance);
return 0;
}
```
输入格式为:
```
请输入第一个点的坐标(x1, y1): 1 2
请输入第二个点的坐标(x2, y2): 4 6
```
输出格式为:
```
两点间的距离为:5.000000
```
注意,这里使用了数学库中的 sqrt 和 pow 函数,需要在编译时加上 -lm 参数来链接数学库。
用C++定于知识,编写一个程序,定义一个复数类,含实部和虚部两个数据成员,再定义一个坐标类Point,含有横坐标和纵坐标两个数据成员, 该类中有一个成员函数print(),可以输出一个点的横坐标和纵坐标,并且该函数为复数类的友元函数,可以输出得数的实部和虚部。
好的,让我来回答您的问题。
首先,我们可以使用 C 语言来定义复数类和坐标类。下面是一个示例代码:
```
#include <stdio.h>
// 复数类
typedef struct {
double real; // 实部
double imag; // 虚部
} Complex;
// 坐标类
typedef struct {
double x; // 横坐标
double y; // 纵坐标
} Point;
// 友元函数声明
void print(Complex c, Point p);
// 友元函数定义
void print(Complex c, Point p) {
printf("Complex: real=%f, imag=%f\n", c.real, c.imag);
printf("Point: x=%f, y=%f\n", p.x, p.y);
}
int main() {
// 创建一个复数对象和一个坐标对象
Complex c = {1.0, 2.0};
Point p = {3.0, 4.0};
// 调用友元函数打印对象信息
print(c, p);
return 0;
}
```
以上代码定义了一个名为 Complex 的结构体,它有两个成员变量:实部和虚部。同时也定义了一个名为 Point 的结构体,它有两个成员变量:横坐标和纵坐标。我们定义了一个名为 print 的函数作为友元函数,可以同时输出 Complex 和 Point 的数据成员。
在主函数中,我们创建了一个复数对象 c 和一个坐标对象 p,然后调用了 print 函数打印对象信息。
希望能够解答您的问题,如果还有其他疑问可以继续向我提问。
阅读全文