6.编写一个程序实现如下功能:定义一个点的结构数据类型,实现下列功能: ⑴输入点的坐标值;⑵求两个点的中点坐标;⑶求两点间距离。
时间: 2023-04-11 19:05:19 浏览: 248
可以按照以下步骤编写程序:
1. 定义一个点的结构体,包括x和y坐标。
2. 编写函数实现输入点的坐标值,可以使用scanf函数。
3. 编写函数实现求两个点的中点坐标,即将两个点的x坐标和y坐标分别求平均值。
4. 编写函数实现求两点间距离,可以使用勾股定理计算。
5. 在主函数中调用上述函数,输入两个点的坐标值,求中点坐标和两点间距离,并输出结果。
以下是示例代码:
#include <stdio.h>
#include <math.h>
// 定义点的结构体
struct Point {
double x;
double y;
};
// 输入点的坐标值
void inputPoint(struct Point *p) {
printf("请输入点的坐标值:\n");
scanf("%lf %lf", &(p->x), &(p->y));
}
// 求两个点的中点坐标
struct Point getMidPoint(struct Point p1, struct Point p2) {
struct Point mid;
mid.x = (p1.x + p2.x) / 2;
mid.y = (p1.y + p2.y) / 2;
return mid;
}
// 求两点间距离
double getDistance(struct Point p1, struct Point p2) {
double dx = p1.x - p2.x;
double dy = p1.y - p2.y;
return sqrt(dx * dx + dy * dy);
}
int main() {
struct Point p1, p2, mid;
double distance;
// 输入两个点的坐标值
inputPoint(&p1);
inputPoint(&p2);
// 求中点坐标
mid = getMidPoint(p1, p2);
printf("中点坐标为:(%lf, %lf)\n", mid.x, mid.y);
// 求两点间距离
distance = getDistance(p1, p2);
printf("两点间距离为:%lf\n", distance);
return ;
}
阅读全文