当前位置:首页 » 编程语言 » 求两个点距离的c语言程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

求两个点距离的c语言程序

发布时间: 2023-03-01 13:05:45

① 编写c语言程序,计算任意两点之间的距离

#include <stdio.h>
#include<math.h>
void main(){
double x1,x2,y1,y2,sum;
printf("请输入A点的横坐标:");
scanf("%2f",&x1);
printf("请输入A点的纵坐标:");
scanf("%2f",&y1);
printf("请输入B点的横坐标:");
scanf("%2f",&x2);
printf("请输入B点的纵坐标:");
scanf("%2f",&y2);
sum=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("点A(%2f,%2f)到点B(%2f,%2f)的距离是%2f",x1,y1,x2,y2,sum);
}

② 求C语言程序:计算两点间的距离

代码如下:

#include<stdio.h>

#include<math.h>

struct point

{

double x;

double y;

};

struct point readPoint();

double distance(struct point p1,struct point p2);

int main(void)

{

struct point a,b;

double dis;

printf(" distance! ");

printf("please input the point(for example:1.0,2.0):");

a=readPoint();

printf(" please input the point(for example:1.0,2.0):");

b=readPoint();

dis=distance(a,b);

printf(" the distance is:%.2f ",dis);

return 0;

}

struct point readPoint()

{

struct point p;

scanf("%lf,%lf",&p.x,&p.y);

return p;

}

double distance(struct point p1,struct point p2)

{

double d;

d=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));

return d;

}

③ C语言利用下面的结构体求"平面上两点间的距离"。

#include<stdio.h>
#include<math.h>
struct point{
float x;
float y;
};
float distance(struct point p1, struct point p2)
{
return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}
int main()
{
struct point p1;
struct point p2;
scanf("%f%f%f%f", p1.x, p1.y, p2.x, p2.y);
printf("%f\n", distance(p1,p2));
}

④ 怎么用C语言求两点之间距离

#include<stdio.h>
#include<math.h>
intmain(void)
{
floatx1,x2,y1,y2,i;
printf("请依次输入X1,X2,Y1,Y2的值! ");
scanf("%f,%f,%f,%f",&x1,&x2,&y1,%y2);
i=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("两点间的距离为:%g",i);
return0;
}

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

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

structPoint
{
doublex,y;
};

/**.*/
doubledistance(conststructPoint*a,conststructPoint*b)
{
returnsqrt((a->x-b->x)*(a->x-b->x)+(a->y-b->y)*(a->y-b->y));
}

intmain()
{
structPointa,b;
printf("Pleaseinputthefirstpoint:");
scanf("%lf%lf",&a.x,&a.y);
printf("Pleaseinputthesecondpoint:");
scanf("%lf%lf",&b.x,&b.y);
printf("Thedistanceofthetwopointis%f. ",distance(&a,&b));
return0;
}

说明:

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

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

以上。

⑥ C语言编程问题:使用函数计算两点间的距离。

输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。

#include&lt;stdio.h&gt;

#include&lt;math.h&gt;

void main()

{

float x1,x2,y1,y2;

printf("请输入一组数据:");

while(~scanf("%f%f%f%f",&x1,&y1,&x2,&y2))//开始读取输入的数,知道文件结束。

{

printf("两点间的距离为:%.2f ",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));

printf("请输入一组数据:");

}

}

(6)求两个点距离的c语言程序扩展阅读:

c语言基本运算

一:算术运算符

算术运算符非常地简单,就是小学数学里面的一些加减乘除操作。不过呢,还是有一些语法细节需要注意的。

一、加法运算符+

int a=10;

(此处空一行)

int b=a+5;

在第3行利用加法运算符+进行了加法运算,再将和赋值给了变量b,最终变量b的值是15

二、减法运算符或负值运算符-

int b=10-5;

(此处空一行)

int a=-10;

1、在第1行利用减法运算符-进行了减法运算,再将差赋值给了变量b,最终变量b的值是5

2、在第3行中,这个-并不是什么减法运算符,而算是一个负值运算符,-10代表的是负十

三、乘法运算符*

int b=10*5;

注意:乘法运算符并不是x或者X,而是星号*。变量b最终的值是50。

四、除法运算符/

double a=10.0/4;

double b=10/4;

(此处空一行)

printf("a=%f,b=%f ",a,b);

注意:除法运算符并不是÷,而是一个正斜杠/

⑦ c语言:编写一个c程序,输入两点坐标,求这两点的距离

声明x1、y1、x2、y2浮点型变量为点p1和p2的座标,输入数值后直接由公式√(x1-x2)^2+(y1-y2)^2求出。代码如下:

#include"stdio.h"
#include"math.h"//调用sqrt需要包含此文件
intmain(intargc,char*argv[]){
doublex1,y1,x2,y2;
printf("... ");
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);//输入点座标
printf("Thedistance(p1(%g,%g)top2(%g,%g))is",x1,y1,x2,y2);
printf("%g ",sqrt((x1-=x2)*x1+(y1-=y2)*y1));//直接用公式求结果
return0;
}

运行样例如下:

⑧ C语言求两点间距离

#include <math.h>

#include <stdio.h>

void main()

{

float x1, y1, x2, y2;

float d;

printf("请输入x1,y1,x2,y2,用空格隔开: ");

scanf("%f %f %f %f", &x1, &y1, &x2, &y2);

d = sqrtf((x2 - x1) * (x2 - x1) +(y2 - y1) * (y2 - y1));

printf("两点间的距离为%.2f", d);

}

(8)求两个点距离的c语言程序扩展阅读:

c语言的基本运算的注意事项

一、运算顺序

1、算术表达式

用算术运算符将数据连接起来的式子,称为“算术表达式”。比如a + b、10 * 5等。如果表达式比较复杂的话,那么就要注意一下它的运算顺序。表达式的运算顺序是按照运算符的结合方向和优先级进行的。

2、结合方向

算术运算符的结合方向是从左到右。例如表达式2+3+4,先计算2+3。

3、 优先级

优先级越高,就越先进行运算,当优先级相同时,参照结合方向。下面是算术运算符的优先级排序:

负值运算符(-)>乘(*)、除(/)、模(%)运算符>加(+)、减(-)运算符

例如表达式4+5*8/-2的计算顺序为:-、*、/、+,最后的结果是-16

4、小括号

如果需要先计算优先级低的可以使用小括号()括住,小括号的优先级是最高的!

例如4+5*8-2默认的计算顺序是:*、+、-

如果想先执行加法运算,就可以这样写:(4+5)*8-2,最后的结果都是不一样的。

二、关系运算符的使用注意

1、关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者

例如2==3>1 :先算3>1,条件成立,结果为1。再计算2==1,条件不成立,结果为0。因此2==3>1的结果为0。

2、关系运算符的结合方向为“从左往右”

例如4>3>2 :先算4>3,条件成立,结果为1。再与2比较,即1>2,条件不成立,结果为0。因此4>3>2的结果为0。

3、关系运算符的优先级小于算术运算符

例如3+4>8-2 :先计算3+4,结果为7。再计算8-2,结果为6。最后计算7>6,条件成立,结果为1。因此3+4>8-2的结果为1。

⑨ c语言 求空间中最远的两个点距离(函数参数用指针)

你这个题的数据量很小(n<10),所以完全可以暴力求解

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

typedefstructpoint
{
doublex,y,z;
}Point;

doubleGetDistance(constPoint*a,constPoint*b)
{
returnsqrt((a->x-b->x)*(a->x-b->x)+
(a->y-b->y)*(a->y-b->y)+
(a->z-b->z)*(a->z-b->z));
}

intmain()
{
inti,j,n;
Pointp[10];
doubleres=0,distance=0;

scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%lf%lf%lf",&p[i].x,&p[i].y,&p[i].z);

for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
distance=GetDistance(&p[i],&p[j]);
res=distance>res?distance:res;
}
}
printf("%.2lf ",res);

return0;
}

⑩ 用C语言编写一个程序,求两点之间的距离

#include<stdio.h>
#include<math.h>
int main()
{
double x1,y1,x2,y2,distance;
printf("请输入第一个点的坐标:\nx1=");
scanf("%lf",&x1);
printf("y1=");
scanf("%lf",&y1);
printf("请输入第二个点的坐标:\nx2=");
scanf("%lf",&x2);
printf("y2=");
scanf("%lf",&y2);
distance=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
printf("这两点间的距离为:%lf\n",distance);
return 0;
}