用C语言编写一个程序:定义一个点的坐标,然后定义两个点,求这两个点间的距离。

 我来答
百度网友36d3ef8
推荐于2017-11-29 · TA获得超过477个赞
知道小有建树答主
回答量:138
采纳率:90%
帮助的人:35.8万
展开全部
#include <stdio.h>
#include <math.h>

struct Point
{
    double x, y;
};

/** Calculate the distance of two points. */
double distance(const struct Point *a, const struct Point *b)
{
    return sqrt((a->x-b->x)*(a->x-b->x)+(a->y-b->y)*(a->y-b->y));
}

int main()
{
    struct Point a, b;
    printf("Please input the first point: ");
    scanf("%lf%lf", &a.x, &a.y);
    printf("Please input the second point: ");
    scanf("%lf%lf", &b.x, &b.y);
    printf("The distance of the two point is %f.\n", distance(&a, &b));
    return 0;
}

说明:

1、distance() 函数的两个参数 const struct Point *a 和 b 使用了 const 修饰,是表示 a 和 b 在函数执行过程中不会被修改;这样即使函数体内部写错,修改了 a 和 b 的值,编译也不会通过。

2、对 double,scanf 用 %lf,printf 用 %f。

以上。

匿名用户
2011-10-18
展开全部
#include "stdio.h"
#include "math.h"
struct Point
{
double x;
double y;
}p[2];

void main()
{
double d;

printf("输入第1个点坐标x,y\n");
scanf("%lf%lf",&p[0].x,&p[0].y);
printf("输入第2个点坐标x,y\n");
scanf("%lf%lf",&p[1].x,&p[1].y);
d=sqrt((p[0].x-p[1].x)*(p[0].x-p[1].x)+(p[0].y-p[1].y)*(p[0].y-p[1].y));
printf("距离=%g",d);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笨鸟爱糖果
2011-10-18 · TA获得超过175个赞
知道答主
回答量:26
采纳率:0%
帮助的人:37.3万
展开全部
#include<stdio.h>
#include<math.h>//包含开方函数sqrt()
double Distance(double a[],double b[])
{
return sqrt( (b[1]-a[1])*(b[1]-a[1])+(b[0]-a[0])*(b[0]-a[0]) );
}
void main()
{
double a[2],b[2];//二维数组表示2个点
double result;
printf("请输入第一个点的坐标\n");
scanf("%lf%lf",&a[0],&a[1]);
printf("请输入第二个点的坐标\n");
scanf("%lf%lf",&b[0],&b[1]);
result=Distance( a, b);
printf("距离为%f\n",result
}希望可以帮助到你
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式