0
点赞
收藏
分享

微信扫一扫

C语言 求出平面直角坐标系中两点的距离

C语言 求出平面直角坐标系中两点的距离_#include

#include <math.h>
#include <stdio.h>

double&nbsp;dist(double&nbsp;x1,&nbsp;double&nbsp;y1,&nbsp;double&nbsp;x2,&nbsp;double&nbsp;y2){
return&nbsp;sqrt((x2&nbsp;-&nbsp;x1)&nbsp;*&nbsp;(x2&nbsp;-&nbsp;x1)&nbsp;+&nbsp;(y2&nbsp;-&nbsp;y1)&nbsp;*&nbsp;(y2&nbsp;-&nbsp;y1));
}

int&nbsp;main(void){
double&nbsp;x1,&nbsp;y1;
double&nbsp;x2,&nbsp;y2;

puts(&quot;求两点间的距离。&nbsp;\n&quot;);
puts(&quot;点A:&nbsp;&quot;);
printf(&quot;X坐标:&quot;);
scanf(&quot;%lf&quot;,&nbsp;&amp;x1);
printf(&quot;Y坐标:&quot;);
scanf(&quot;%lf&quot;,&nbsp;&amp;y1);
printf(&quot;A&nbsp;(%lf,&nbsp;%lf)\n&quot;,&nbsp;x1,&nbsp;y1);


puts(&quot;点B:&nbsp;&quot;);
printf(&quot;X坐标:&quot;);
scanf(&quot;%lf&quot;,&nbsp;&amp;x2);&nbsp;
printf(&quot;Y坐标:&quot;);
scanf(&quot;%lf&quot;,&nbsp;&amp;y2);&nbsp;
printf(&quot;B(%lf,&nbsp;%lf)\n&quot;,&nbsp;x2,&nbsp;y2);

printf(&quot;两点之间的距离d&nbsp;=&nbsp;%f\n&quot;,&nbsp;dist(x1,&nbsp;y1,&nbsp;x2,&nbsp;y2));

return&nbsp;0;
}

运行结果:
C语言 求出平面直角坐标系中两点的距离_定义域_02
注:
double sqrt(double x)函数:
计算x的平方根(实参为复数时会发生定义域错误)。

使用结构体计算两点的距离

#include <math.h>
#include <stdio.h>
#define sqr(n) ((n) * (n))

typedef&nbsp;struct{
double&nbsp;x;
double&nbsp;y;
}&nbsp;Point;

double&nbsp;distance_of(Point&nbsp;pa,&nbsp;Point&nbsp;pb){
return&nbsp;sqrt(sqr(pa.x&nbsp;-&nbsp;pb.x)&nbsp;+&nbsp;sqr(pa.y&nbsp;-&nbsp;pb.y));
}

int&nbsp;main(void){
Point&nbsp;crnt,&nbsp;dest;

printf(&quot;当前地点的X坐标:&quot;);
scanf(&quot;%lf&quot;,&nbsp;&amp;crnt.x);&nbsp;

printf(&quot;当前地点的Y坐标:&quot;);
scanf(&quot;%lf&quot;,&nbsp;&amp;crnt.y);&nbsp;

printf(&quot;目的地点的Y坐标:&quot;);
scanf(&quot;%lf&quot;,&nbsp;&amp;dest.x);&nbsp;

printf(&quot;目的地点的Y坐标:&quot;);
scanf(&quot;%lf&quot;,&nbsp;&amp;dest.y);&nbsp;

printf(&quot;到目的地的距离为&nbsp;%.2f\n&quot;,&nbsp;distance_of(crnt,&nbsp;dest));

return&nbsp;0;&nbsp;
}


举报

相关推荐

0 条评论