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

c语言求最大的距离

发布时间: 2022-08-02 20:28:11

Ⅰ 如何用c语言计算两点之间距离

用C语言计算两点之间距离的参考代码:

#include <stdio.h>

#include <stdlib.h>

#include "math.h"

typedef struct point {

double x;

double y;

}point;

point array[30001];

double distance(point a,point b);

int main(int argc, char *argv[])

{

while(1){

int n,i,j,count;

double maxdis,temp;

scanf("%d",&n);

for(i = 0;i<n;i++){

scanf("%f %f",&array[i].x,&array[i].y);

}

for(i = 0;i<n;i++){

//printf("%d %d ",array[i].x,array[i].y);

//printf("dis:%.2f ",distance(array[0],array[i]));

}

maxdis = 0.0;

for(i = 0;i<n;i++){

for(j = i;j<n;j++){

if(distance((array[i]),(array[j])) > maxdis ){

//printf("maxdis = :%.2f ",distance((array[i]),(array[j])));

maxdis =distance((array[i]),(array[j]));

}

}

}

printf("%.2f",maxdis);

}

system("pause");

return 0;

}

//计算x y之间距离

double distance(point a,point b){

return sqrt( (a.x - b.x)*(a.x - b.x) + (a.y -b.y)*(a.y -b.y) );

}

(1)c语言求最大的距离扩展阅读:

C语言编写注意事项:

1、所有自定义变量必须声明才能使用。

2、每行只书写一条语句, 在运算符两边加上一个空格, 便于阅读。

3、整数除法将自动舍位, 不会进行四舍五入的操作。

4、for(初始化部分;条件部分;增长部分) - 比while 更适用于初始化和增长步长都是单条语句情况下。

5、使用#define 名字 替换文本 对部分"幻数" 赋予意义便于阅读 #define结尾不需要“;”号结束。

Ⅱ 用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;
}

Ⅲ 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语言求两点间的距离

定义一个二维数组Dist[2][10],假设有两点a(2,3),b(5,6),将他们的坐标放入数组中Dist[0][0]=2;Dist[0][1]=5;Dist[1][0]=3;Dist[1][1]=6;
他们间的距离就是double x=(Dist[0][0]-Dist[0][1])*(Dist[0][0]-Dist[0][1])+(Dist[1][0]-Dist[1][1])*(Dist[1][0]-Dist[1][1]);
double distance = Math.sqrt(x);

Ⅳ 用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);

}

(5)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语言计算两点间距离方法是什么

Problem Description

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

Input

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

Output

对于每组输入数据,输出一行,结果保留两位小数。

#include&lt;stdio.h&gt;

#include&lt;math.h&gt;

void main()

{int X1,X2,Y1,Y2;<br>double d;<br>printf("%d %d %d %d ",X1,Y1,X2,Y2);

<br>while(scanf("%d %d %d %d ",&amp;X1,&amp;Y1,&amp;X2,&amp;Y2)!=EOF)

<br>while(1)<br>{d=sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));<br>printf("%.2f ",d);

Ⅶ 编写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);
}

Ⅷ 求平面n个点间的最大距离 c语言数组

具体代码如下(仔细看下应该能明白):

/*输入n个点,求平面上所有各点之间的最长距离,要求定义和调用函数计算距离*/
#include<stdio.h>
#include<math.h>
#include<stdlib.h>

typedefstructpoint
{
doublex;
doubley;
}point;

doublecalculate_distance(point*a,point*b)
{
doublei=a->x-b->x;
doublej=a->y-b->y;
doublek=pow(i,2)+pow(j,2);
returnsqrt(k);
}

voidmain()
{
inti=0;
intj=0;
intn=0;
doubledistance=0;
doublemax_distance=0;
printf("Entern:");
scanf("%d",&n);
point*store_point=NULL;
store_point=(point*)malloc(n*sizeof(point));
point*i_point=store_point;
printf("inputx,y ");
for(i=0;i<n;i++)
{
scanf("%lf%lf",&(i_point->x),&(i_point->y));
i_point++;
}
i_point=store_point;
for(i=0;i<n;i++)
{
for(j=1;j<n;j++)
{
distance=calculate_distance((i_point+i),(i_point+j));
if(distance>max_distance)
{
max_distance=distance;
}
}
}
free(store_point);
store_point=i_point=NULL;
printf("MaxDistance=%lf ",max_distance);
}