當前位置:首頁 » 編程軟體 » 距離編程代碼

距離編程代碼

發布時間: 2022-09-21 16:58:06

『壹』 如何用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語言編寫注意事項:

1、所有自定義變數必須聲明才能使用。

2、每行只書寫一條語句, 在運算符兩邊加上一個空格, 便於閱讀。

3、整數除法將自動舍位, 不會進行四捨五入的操作。

4、for(初始化部分;條件部分;增長部分) - 比while 更適用於初始化和增長步長都是單條語句情況下。

5、使用#define 名字 替換文本 對部分"幻數" 賦予意義便於閱讀 #define結尾不需要「;」號結束。

『貳』 python編程題:編程求兩點之間的曼哈頓距離


def My_abs(num):
if num < 0:
num *= -1
return num


print(abs(-5))

x1,y1=eval(input("輸入A點坐標,以逗號分隔:"))
x2,y2=eval(input("輸入B點坐標,以逗號分隔:"))


# 計算曼哈頓距離的函數
def getManhattanDistance(x1, y1, x2, y2):
return My_abs(x1 - x2) + My_abs(y1 - y2)


# 調用並輸出計算的曼哈頓距離
print(getManhattanDistance(x1, y1, x2, y2))



abs在Python中有了,然後我就命名成了My_abs。

備注也都打好了。

折柳成蔭寫的是C,soulofbug寫的是python

『叄』 卡西毆5800計算器方位角及距離編輯程序代碼

設A點坐標(XA, YA),B點坐標(XB, YB),A點到B點距離l,A點到B點方位角aAB,則:
XB=XA+lcosaAB
YB=YA+lsinaAB
l=根號 (XB-XA)²+(YB-YA)²
當(YB-YA)≥0時,aAB=cos-1(XB-XA)/l
當(YB-YA)<0時,aAB=360- cos-1(XB-XA)/l
在卡西歐計算器中可以用「Rec」和「pol」功能鍵完成,方法如下:
正算Rec(l,aAB),顯示X增量「I」,Y增量「J」
XB=XA+I,YB=YA+J
反算pol(XB-XA,YB-YA),顯示距離l「I」,方位角aAB「J」,當J<0時J=J+360

『肆』 誰能提供,點到直線的距離公式 C語言程序

設點(x0,y0) ,直線為ax+by+c=0
則距離為fabs(ax0+by0+c)/sqrt(a*a+b*b)

前提是在文件前面加上#include <math.h>

『伍』 用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;
}

『陸』 兩數組最短距離 一道編程題解不出。。求思路或者代碼

#include<iostream>

usingnamespacestd;

#defineM100

voidSearch()

{

intf[M],g[M],min[M][M],m,n;

cout<<"分別輸入兩數組的長度(100以內):"<<endl;

cin>>m>>n;

while(m<=0||m>M||n<=0||n>M)

{

cout<<"輸入有誤,重新輸入:"<<endl;

cin>>m>>n;

}

inti,j,Min;

cout<<"輸入數組f(長度為"<<m<<"):"<<endl;

for(i=0;i<m;i++)

cin>>f[i];

cout<<"輸入數組g(長度為"<<n<<"):"<<endl;

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

cin>>g[i];

for(i=0;i<m;i++)

for(j=0;j<n;j++)

min[i][j]=(f[i]-g[j]>=0)?f[i]-g[j]:g[j]-f[i];

Min=min[0][0];

for(i=0;i<m;i++)

for(j=0;j<n;j++)

{

if(min[i][j]<Min)

Min=min[i][j];

}

cout<<"兩數組的距離為:"<<Min<<endl;

}

intmain()

{

Search();

return0;

}

『柒』 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("請輸入一組數據:");

}

}

(7)距離編程代碼擴展閱讀:

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

注意:除法運算符並不是÷,而是一個正斜杠/

『捌』 已知三十個地區的經緯度,用matlab怎麼編程求出這三十個地區兩兩之間的距離,會的幫忙編下程序代碼

直接用MATLAB地圖工具箱(Mapping Toolbox)的distance函數就可以了,例如(為方便舉例,這里只設置了4個點,30個點同樣處理):

%已知各點的經緯度(依次為京滬津渝四地)
pts=[...
116.4639.92;
121.4831.22;
117.2039.13;
106.5429.59
];

%形成兩兩之間對應的矩陣(對稱陣,可以只看上三角或下三角)
[LA1,LA2]=meshgrid(pts(:,2));
[LO1,LO2]=meshgrid(pts(:,1));

%計算兩兩之間的距離,單位為公里
R=distance(LA1,LO1,LA2,LO2,almanac('earth','wgs84'));

這里地球模型是採用的WGS84參考橢球,也可以改用其它參考橢球,具體可參考almanac函數。

得到的結果為

>>num2str(R,'%10.2f')
ans=
0.001066.68108.361460.16
1066.680.00959.951445.81
108.36959.950.001440.61
1460.161445.811440.610.00
熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:637
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:366
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:82
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:308
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:789
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:339
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:210
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:810
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:364
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:590