最短距離c語言,c語言最遠距離

本文目錄一覽:

C語言最短距離問題

我會。

你的意思是找到兩個點。然後是其他點到這個兩個點的距離和最小 是吧。

c語言已知兩點坐標,求另一點到穿過這兩點的直線最短距離。

#includestdio.h

#includemath.h

main()

{

float x,y,x1,y1,x2,y2,l,d;

scanf(“%f %f %f %f”,x1,y1,x2,y2);

l=(y2-y1)/(x2-x1);

printf(“%.2f\n”,l);

scanf(“%f %f”,x,y);

printf(“%.2f\n”,fabs(l*x-y+y1-l*x1));

d=fabs(l*x-y+y1-l*x1)/sqrt(l*l+1);

printf(“%.3f”,d);

return 0;

}

用c語言實現尋找最短距離的問題,照片是個例子,問題就是從x城市到y城市,如何給出最短距離的路線,這

單源最短路徑問題,用Dijkstra算法求解。圖的存儲結構,有鄰接矩陣和鄰接表兩種,鄰接矩陣佔用空間大,但是使用方便。這裡就說一下鄰接矩陣:

struct Graph{

    int matrix[N][N];

    int e;

};

N表示頂點數,就這幅圖而言是5,e表示邊數。matrix存儲了頂點之間的距離,比如matrix[0][1]表示頂點0到頂點1之間的距離。matrix[n][n]表示一個頂點到它自己的距離,這個應當設為0。另外,若兩個頂點之間沒有邊,應該用一個值(可以是負數)來標識它,這兩項操作,應該在圖的初始化時進行。

創建圖之後,首先要輸入邊數,然後輸入每條邊的起點、終點和長度,來給數組matrix賦值。

然後就是使用算法了。

參考:

最小距離法的C語言程序

就你上面的問題我寫了下

以下是代碼通過編譯了

輸入2個城市比如輸入2,3

輸入的是城市間最短路徑

以及路程。

如果城市的個數以及他們之間

的距離如果變了。

程序中給出參數也要修改。

你可以根據自己需要進行修改。

#includestdio.h

void main()

{

void print2(int a,int d);

void print3(int a,int b,int d);

void print4(int a,int b,int c,int d);

int two(int i,int j,int f[][5]);

int three(int i,int j,int i1,int f[][5]);

int four(int i,int j,int i1,int j1,int f[][5]);

int f[5][5]={0,0,0,0,0,0,0,1,2,3,0,2,0,7,9999,0,5,6,0,2,0,1,9999,4,0};

int a,b,c,d,i,sum1=0;

scanf(“%d,%d”,a,d);

for(i=1;i=4;i++)

{

b=i;

if(b==a||b==d)

b=0;

if(b!=0)

break;

}

c=10-a-b-d;

sum1=two(a,d,f);

i=1;

if(three(a,b,d,f)sum1)

{

sum1=three(a,b,d,f);

i=2;

}

if(three(a,c,d,f)sum1)

{

sum1=three(a,c,d,f);

i=3;

}

if(four(a,b,c,d,f)sum1)

{

sum1=four(a,b,c,d,f);

i=4;

}

if(four(a,c,b,d,f)sum1)

{

sum1=four(a,c,b,d,f);

i=5;

}

switch(i)

{

case 1:print2(a,d);break;

case 2:print3(a,b,d);break;

case 3:print3(a,c,d);break;

case 4:print4(a,b,c,d);break;

case 5:print4(a,c,b,d);break;

}

printf(“%d\n”,sum1);

}

int two(int i,int j,int f[][5])

{

return(f[i][j]);

}

int three(int i,int j,int i1,int f[][5])

{

int temp;

temp=two(i,j,f);

temp+=two(j,i1,f);

return(temp);

}

int four(int i,int j,int i1,int j1,int f[][5])

{

int temp;

temp=two(i,j,f);

temp+=three(j,i1,j1,f);

return(temp);

}

void print2(int a,int d)

{

printf(“%d-%d\n”,a,d);

}

void print3(int a,int b,int d)

{

printf(“%d-%d-%d\n”,a,b,d);

}

void print4(int a,int b,int c,int d)

{

printf(“%d-%d-%d-%d\n”,a,b,c,d);

}

如何用c語言實現利用各地間距離找出某兩地的最短距離

看到這個問題,讓我聯想到了導航地圖路徑規劃。

首先要確定任意兩點之間有沒有直接連線(理解為兩點之間有沒有路)

應用排列組合,計算出從起點到終點的所有可能路徑,建立數組,分別累計各路徑的總距離,然後取最短距離

想法簡單,不知道是否可行

求兩點之間最短距離的C語言源代碼

#include stdio.h

#include stdlib.h

#include math.h

int main()

{

printf(“輸入兩點坐標:\n”);

double x1,y1,x2,y2,length;

scanf(“%lf%lf%lf%lf”,x1,y1,x2,y2);

length = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));

printf(“%lf\n”,length);

system(“pause”);

return 0;

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279578.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:04
下一篇 2024-12-20 15:04

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論