




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告西湖導(dǎo)游系統(tǒng)學(xué)號(hào):姓名:專業(yè)班級(jí):日期:信息科學(xué)與工程系數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告目錄1課程設(shè)計(jì)的目的11.1 課程設(shè)計(jì)題目11.2 課程設(shè)計(jì)目的12課程設(shè)計(jì)的內(nèi)容12.1 題目分析12.2 系統(tǒng)程序模塊設(shè)計(jì)12.2.1 景點(diǎn)信息查詢12.2.2 景點(diǎn)地圖12.2.3 景點(diǎn)最短路徑查詢12.2.4 退出系統(tǒng)13景點(diǎn)信息查詢及求最短路徑問(wèn)題的實(shí)現(xiàn)13.1 景點(diǎn)信息查詢及求最短路徑系統(tǒng)涉及的物理結(jié)構(gòu)13.1.1 圖的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)13.1.2 Floyd的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)23.2 景點(diǎn)信息查詢及求最短路徑系統(tǒng)主要模塊的設(shè)計(jì)23.2.1 景點(diǎn)基本信息和路徑的定義23.2.2 Fl
2、oyd求最短路徑的實(shí)現(xiàn)53.2.3 選擇函數(shù)84西湖導(dǎo)游系統(tǒng)的測(cè)試及運(yùn)行效果94.1 主界面94.2 景點(diǎn)信息查詢94.3 地圖顯示94.4 最短路徑查詢94.5 功能選項(xiàng)選擇錯(cuò)誤104.6 查詢最短路徑景點(diǎn)輸入錯(cuò)誤105系統(tǒng)設(shè)計(jì)遇到的問(wèn)題及解決方案116總結(jié)與收獲12附西湖導(dǎo)游系統(tǒng)程序源代碼12數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告1課程設(shè)計(jì)的目的1.1 課程設(shè)計(jì)題目西湖導(dǎo)游系統(tǒng)1.2 課程設(shè)計(jì)目的這個(gè)課程設(shè)計(jì)是為了方便的查詢景點(diǎn)信息,找出景點(diǎn)之間的最短路徑,其中把景點(diǎn)信息用圖的數(shù)組存儲(chǔ),求兩點(diǎn)之間的最短路徑用Floyd算法。正確分析題目中的數(shù)據(jù)涉及的數(shù)據(jù)結(jié)構(gòu),并將數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)及其算法應(yīng)用于解
3、決實(shí)際問(wèn)題,即理論與實(shí)際結(jié)合起來(lái),提高編寫程序的能力。掌握模塊化程序設(shè)計(jì)方法以及程序的調(diào)試方法和技巧。2課程設(shè)計(jì)的內(nèi)容2.1 題目分析這次的課程設(shè)計(jì)中需要把多個(gè)景點(diǎn)的信息存儲(chǔ),所以用了圖的數(shù)組法來(lái)存儲(chǔ)景點(diǎn)信息,求最短路徑問(wèn)題上,F(xiàn)loyd是解決任意兩點(diǎn)間的最短路徑的一種算法,可以正確處理有向圖或負(fù)權(quán)的最短路徑問(wèn)題。2.2 系統(tǒng)程序模塊設(shè)計(jì)2.2.1 景點(diǎn)信息查詢用戶在選擇此功能模塊后,按照屏幕上方提示的景點(diǎn)名稱及其對(duì)應(yīng)的編號(hào),要求用戶輸入想要查詢的景點(diǎn)的編號(hào),回車后系統(tǒng)將在已存儲(chǔ)的景點(diǎn)中進(jìn)行匹配,若該景點(diǎn)信息尚未存儲(chǔ)則將提示錯(cuò)誤;若找到對(duì)應(yīng)信息則系統(tǒng)將輸出景點(diǎn)信息,顯示于幕上方;2.2.2 景
4、點(diǎn)地圖顯示景點(diǎn)的分布情況。2.2.3 景點(diǎn)最短路徑查詢用戶在選擇此功能模塊后,按照屏幕上方提示的景點(diǎn)名稱及其對(duì)應(yīng)的編號(hào),要求用戶輸入起點(diǎn)和終點(diǎn)的編號(hào),系統(tǒng)將在已存儲(chǔ)的景點(diǎn)中進(jìn)行匹配,若未找到所需查詢的景點(diǎn)編號(hào),系統(tǒng)將提示錯(cuò)誤并要求用戶再次輸入。若輸入信息合法,則回車后系統(tǒng)將給出最短路徑,顯示于屏幕上方;2.2.4 退出系統(tǒng)選擇此功能模塊,系統(tǒng)將自動(dòng)退出。3景點(diǎn)信息查詢及求最短路徑問(wèn)題的實(shí)現(xiàn)3.1 景點(diǎn)信息查詢及求最短路徑系統(tǒng)涉及的物理結(jié)構(gòu)3.1.1 圖的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告因?yàn)樵谶@次的課程設(shè)計(jì)中,景點(diǎn)的個(gè)數(shù)是固定的,再者需要求最短路徑的問(wèn)題,所以需要用圖的數(shù)組法來(lái)保存景點(diǎn)的信
5、息。以此方便景點(diǎn)信息的調(diào)用和之后最短路徑的調(diào)用和計(jì)算。3.1.2 Floyd的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)要求的是兩個(gè)地點(diǎn)之間的最短路徑,是多源的,所以用Floyd算法,它是解決任意兩點(diǎn)間的最短路徑的一種算法,可以正確處理有向圖或負(fù)權(quán)的最短路徑問(wèn)題。3.2 景點(diǎn)信息查詢及求最短路徑系統(tǒng)主要模塊的設(shè)計(jì)3.2.1 景點(diǎn)基本信息和路徑的定義typedefstruct(charname30;/景點(diǎn)名稱charnumber10;/景點(diǎn)序號(hào)charintroduce200;/景點(diǎn)介紹Elemtype;typedefstruct(intnum;/景點(diǎn)編號(hào)Elemtypedata;/景點(diǎn)信息View;/定義景點(diǎn)type
6、defstruct(ViewviewMaxViewNum;/存放頂點(diǎn)的一維數(shù)組,數(shù)組第零單元沒有用上unsignedintlengthMaxViewNumMaxViewNum;/存放路徑長(zhǎng)度if(shortestij!=MGr.lengthij)intm,n;MGraph;MGraphMGr;/全局變量,定義MGr為MGraph類型intshortestMaxViewNumMaxViewNum;/定義全局變量存貯最小路徑intpathMaxViewNumMaxViewNum;/定義存貯路徑view()/十個(gè)景點(diǎn)的具體信息數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告(inti,j;MGr.view1.num=1;str
7、cpy(MG,"蘇堤春曉");strcpy(MGroduce,"蘇堤春曉俗稱蘇公堤,為西湖十景之首。是一條貫穿西湖南北風(fēng)景區(qū)的林蔭大堤,蘇堤南起南屏山麓,北到棲霞嶺下,全長(zhǎng)近三公里,堤寬平均36米。)MGr.view2.num=2;strcpy(MG,"曲院風(fēng)荷");strcpy(MGroduce,"曲院風(fēng)荷位于西湖西側(cè),岳飛廟前面。南宋時(shí),此有一座官家釀酒的作坊,取金沙澗的溪水造曲酒,聞名國(guó)內(nèi)。附近的池
8、塘種有菱荷,每當(dāng)夏日風(fēng)起,灑香荷香沁人心脾,因名“曲院風(fēng)荷"。");MGr.view3.num=3;strcpy(MG,"平湖秋月");strcpy(MGroduce,"平湖秋月,西湖十景之一,位于白堤西端,孤山南麓,瀕臨外西湖。憑臨湖水,登樓眺望秋月,在恬靜中感西湖的浩淼,洗滌煩躁的心境,是她的神韻所在。");MGr.view4.num=4;strcpy(MG,"斷橋殘雪");strcpy(MGr.view4.da
9、roduce,"斷橋的石橋拱面無(wú)遮無(wú)攔,在陽(yáng)光下冰雪消融,露出了斑駁的橋欄,而橋的兩端還在皚皚白雪的覆蓋下。依稀可辯的石橋身似隱似現(xiàn),而涵洞中的白雪奕奕生光,橋面灰褐形成反差,遠(yuǎn)望去似斷非斷,故稱斷橋。");MGr.view5.num=5;strcpy(MG,"柳浪聞鶯");strcpy(MGroduce,"南宋時(shí),這里是京城最大的御花園,稱聚景園。當(dāng)時(shí)園內(nèi)有會(huì)芳殿和三堂、九亭,以及柳浪橋和學(xué)士橋。清代恢復(fù)柳浪聞鶯舊景。有柳洲之名。其間黃鶯飛舞,競(jìng)相啼鳴,故有“柳浪聞
10、鶯”之稱。");數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告MGr.view6.num=6;strcpy(MG,"花巷觀魚");strcpy(MGroduce,"紅魚池位于園中部偏南處,是全園游賞的中心區(qū)域。池岸曲折自然,池中堆土成島,池上架設(shè)曲橋,倚橋欄俯看,數(shù)千尾金鱗紅魚結(jié)隊(duì)往來(lái),潑刺戲水。");MGr.view7.num=7;strcpy(MG,"雷鋒夕照");strcpy(MGroduce,"位于西湖
11、湖南、凈慈寺前的夕照山上,因晚霞鍍塔,佛光普照而聞名。");MGr.view8.num=8;strcpy(MG,"雙峰插云");strcpy(MGroduce,"巍巍天目山東走,其余脈的一支,遇西湖而分弛南山、北山,形成環(huán)抱狀的名勝景區(qū),兩山之巔既南高峰和北高峰。");MGr.view9.num=9;strcpy(MG,"南屏晚鐘");strcpy(MGroduce,"即指南屏山凈慈寺
12、傍晚的鐘聲,南屏山在杭州西湖南岸、玉皇山北,九曜山東。主峰高百米,林木繁茂,石壁如屏,北麓山腳下是凈慈寺,傍晚鐘聲清越悠揚(yáng)。");MGr.view10.num=10;strcpy(MG,"三潭映月");strcpy(MGroduce,"岸上金桂婆娑,柳綠花明,與雕欄畫棟的建筑相映成趣。具有湖中有島,島中有湖,園中有園,曲回多變,步移景新的江南水上庭園的藝術(shù)特色。");for(i=1;i<=N;i+)for(j=1;j<=N;j+)MGr.lengthij=MaxR
13、oad;for(i=1;i<=N;i+)4數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告shortestij=0;)MGr.length12=MGr.length21=2;/設(shè)定已有路徑的長(zhǎng)度MGr.length23=MGr.length32=5;MGr.length28=MGr.length82=3;MGr.length29=MGr.length92=4;MGr.length26=MGr.length62=3;MGr.length64=MGr.length46=6;MGr.length67=MGr.length76=5;MGr.length36=MGr.length63=10;MGr.length57=MGr.
14、length75=7;MGr.length310=MGr.length103=8;MGr.length11=MGr.length22=0;MGr.length33=MGr.length44=0;MGr.length55=MGr.length66=0;MGr.length77=MGr.length88=0;MGr.length99=MGr.length1010=0;)3.2.2 Floyd求最短路徑的實(shí)現(xiàn)voidfloyd()用floyed算法求兩個(gè)景點(diǎn)的最短路徑(inti,j,k;/所求兩個(gè)景點(diǎn)i,j及中間經(jīng)過(guò)點(diǎn)kfor(i=1;i<=N;i+)for(j=1;j<=N;j+)(s
15、hortestij=MGr.lengthij;pathij=0;)for(k=1;k<=N;k+)(數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告for(i=1;i<=N;i+)(for(j=1;j<=N;j+)if(shortestij>(shortestik+shortestkj)(/用path記錄從i到j(luò)的最短路徑上點(diǎn)j的前驅(qū)景點(diǎn)的序號(hào)shortestij=shortestik+shortestkj;pathij=k;pathji=k;/floyedvoiddisplay(inti,intj)(voidintroduce();/打印兩個(gè)景點(diǎn)的路徑及最短距離inta,b;a=i;b=j;pr
16、intf("您要查詢的兩景點(diǎn)間最短路徑是:nn");fflush(stdin);if(shortestij!=MaxRoad)(if(i<j)(printf("%s",MG);while(pathij!=0)(數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告調(diào)用景點(diǎn)名稱/把i至打的路徑上所有經(jīng)過(guò)的景點(diǎn)按逆序打印出來(lái)printf("<-%s",MG);/printf("<-%s",MG);if(i<j)j=pa
17、thij;elsei=pathji;printf("<-%sn",MG);printf("%s->%s的最短路徑是:%d千米。nn",MG,MG,shortestab);elseprintf("%s",MG);while(pathij!=0)把i至叮的路徑上所有經(jīng)過(guò)的景點(diǎn)按順序打印出來(lái)printf("->%s",MG);
18、if(i<j)j=pathij;elsei=pathji;printf("->%sn",MG);printf("%s->%s的最短路徑是:%d千米。n",MG,MG,shortestab);else/輸入景點(diǎn)路徑不合法時(shí)提示錯(cuò)誤printf("輸入錯(cuò)誤!不存在此路!nn");printf("n");數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告)3.2.3 選擇函數(shù)intn=0;chark;while(1)fflush(s
19、tdin);/清屏scanf("%c",&k);switch(k)/選擇語(yǔ)句case'i':printf("進(jìn)入景點(diǎn)信息查詢:");introduce();printf("請(qǐng)輸入字母i,m,s或e.nn");break;case'm':printf("景點(diǎn)地圖:");map();printf("請(qǐng)輸入字母i,m,s或e.nn");break;case's':printf("進(jìn)入最短時(shí)&徑查詢:");shortes
20、tdistance();printf("請(qǐng)輸入字母i,m,s或e.nn");break;case'e':printf("歡迎您的使用");exit(0);default:/輸入號(hào)不合法時(shí)提示錯(cuò)誤printf("nn輸入信息錯(cuò)誤!n請(qǐng)輸入字母i,m,s或e.nn");break;)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告4西湖導(dǎo)游系統(tǒng)的測(cè)試及運(yùn)行效果4.1主界面如圖4.1.圖4.1主界面4.2 景點(diǎn)信息查詢查詢景點(diǎn)編號(hào)為2的景點(diǎn)信息,如圖4.2.C:l/ser5sg)esktopVKCSJDebug.kc5jl.exe'-詢-吉-受
21、“路"曾統(tǒng)-腌囿三苣良膽圖4.2景點(diǎn)信息查詢4.3 地圖顯示如圖 最短路徑查詢數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告查詢編號(hào)3到5的最短路徑,如圖 功能選項(xiàng)選擇錯(cuò)誤如圖 查詢最短路徑景點(diǎn)輸入錯(cuò)誤如圖4.6.平湖秋月一;,1-t三潭映月1-雷鋒由陰,.'III花巷觀魚一:!雙峰插云斷橋殘雪柳浪聞鶯C:'iU5ef5sgDe5ktcip,«:SJPeLugMtc5jl.exe-月荷號(hào)苞岳_里八神譬:風(fēng)極題服醫(yī)屏淖垓m十新迎等由普.-1曲院風(fēng)荷一施尚與in苣吊_照云件最小干春忸秋酢區(qū)兀七寐一圖4.3地圖顯示*-C:ClserjsgDeEkt
22、opKCSJDebijgMtnjl.exe'm。31口)鍵安s<shoFtestdistan>ice)安efiuxiG鍵雪溝的兩個(gè)景點(diǎn)的編號(hào)仃-TH的數(shù)字編號(hào)并用間隔,門勰筋髓畿豺震禁足鳴售建浪聞除一曲院風(fēng)曲柳浪閑像一平湖秋月圖4.4最短路徑查詢10數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告TCWsereig>Atop'lKC5JD?lMJjkcl.fx,"一風(fēng)秋殘聞?dòng)^點(diǎn)點(diǎn)點(diǎn)出|祟巢號(hào)皂春退點(diǎn)需一.一斷椎遷詢一桂W,三熊息管統(tǒng):睡胃1喜照迎使用西周號(hào)滿祭統(tǒng),請(qǐng)掠iCintroduc>41話技e,inap)鋌青投注hopteetdistan-Ge請(qǐng)按cCcMifc&g
23、t;S.息字OA*圖4.5功能選項(xiàng)選擇錯(cuò)誤間隔“112一隊(duì)比處.大白仲寺皿手小子用】清按£intAddiii:)整,語(yǔ)按,:*。鍵:南屏?xí)陨裉翊菏孪扰c3路掛查恂請(qǐng)擅=:CshortestdistancE士“嘴檸片已為“錠請(qǐng)輸入要查詢的兩個(gè)景點(diǎn)的褊號(hào)0-汽通的越宇編號(hào)開用,/間隔儲(chǔ)C:Us4irssgOe5ktQpKCSJDebugkc5jl.exe,ai殿贊矗查詢,請(qǐng)輸入要查詢的兩個(gè)量點(diǎn)的編號(hào)S1向救字編號(hào)井用一愉人蓿意情俁!4.6查詢最短路徑景點(diǎn)輸入錯(cuò)誤5系統(tǒng)設(shè)計(jì)遇到的問(wèn)題及解決方案問(wèn)題1:在主函數(shù)前定義函數(shù)沒有進(jìn)行聲明。問(wèn)題2:Floyd函數(shù)中三個(gè)for循環(huán)的嵌套關(guān)系出錯(cuò),到時(shí)結(jié)
24、果錯(cuò)誤,之后是參照其他程序,在網(wǎng)上又學(xué)習(xí)了一遍用法后改正。問(wèn)題3:在用sw4ch函數(shù),輸入功能錯(cuò)誤時(shí)出現(xiàn)兩次提示,在sw讓ch前的scanf上加了清屏fflush(stdin)后,錯(cuò)誤解決。問(wèn)題4:在剛開始做的時(shí)候景點(diǎn)信息直接用的輸出調(diào)出景點(diǎn)信息,沒有用結(jié)構(gòu)體存儲(chǔ),在想添加景點(diǎn)信息的時(shí)候發(fā)現(xiàn)這個(gè)錯(cuò)誤。.問(wèn)題5:主函數(shù)中沒有調(diào)用景點(diǎn)信息函數(shù)view,而是在introude函數(shù)中調(diào)用,結(jié)果導(dǎo)致只能在查詢景點(diǎn)信息的時(shí)候調(diào)用景點(diǎn)的信息,而在求最短路徑的時(shí)候,編譯沒有錯(cuò)誤,輸11數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告出的結(jié)果不能正確顯示,一直誤以為是Floyd用法出錯(cuò)。最后是把view函數(shù)放到主函數(shù)中,問(wèn)題解決。6總結(jié)與
25、收獲這次課程設(shè)計(jì)中,我更加熟悉了圖的數(shù)組表示法及Floyd函數(shù)的用法,在不斷調(diào)試過(guò)程中,學(xué)習(xí)到了更多的知識(shí),這次設(shè)計(jì)感覺并不是太好。增刪和修改景點(diǎn)的功能沒有實(shí)現(xiàn),程序中也存在一些Bug。通過(guò)這次課程設(shè)計(jì),我對(duì)程序中算法的概念理解的更加透徹。算法是程序中必不可少的部分,它是指解題方案的準(zhǔn)確而完整的描述,是一系列解決問(wèn)題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問(wèn)題的策略機(jī)制。也就是說(shuō),能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時(shí)間內(nèi)獲得所要求的輸出。如果一個(gè)算法有缺陷,或不適合于某個(gè)問(wèn)題,執(zhí)行這個(gè)算法將不會(huì)解決這個(gè)問(wèn)題。不同的算法可能用不同的時(shí)間、空間或效率來(lái)完成同樣的任務(wù)。同時(shí),在選擇算法時(shí)必須考慮算法的時(shí)
26、間復(fù)雜度和空間復(fù)雜度,這樣才能讓程序正常,高效的運(yùn)行。數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)科學(xué)中是一門綜合性的專業(yè)基礎(chǔ)課.數(shù)據(jù)結(jié)構(gòu)的研究不僅涉及到計(jì)算機(jī)的硬件(特別是編碼理論、存儲(chǔ)裝置和存取方法等)的研究范圍,而且和計(jì)算機(jī)軟件的研究有著更密切的關(guān)系,無(wú)論是編譯程序還是操作系統(tǒng),都涉及到數(shù)據(jù)元素在存儲(chǔ)器中的分配問(wèn)題.在研究信息檢索時(shí)也必須考慮如何組織數(shù)據(jù),以便查找和存取數(shù)據(jù)元素更為方面.因此,可以認(rèn)為數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件三者之間的一門核心課程.在計(jì)算機(jī)科學(xué)中,數(shù)據(jù)結(jié)構(gòu)不僅是一般程序設(shè)計(jì)(特別是非數(shù)值計(jì)算的程序設(shè)計(jì))的基礎(chǔ),而且是設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)及其它系統(tǒng)程序和大型應(yīng)用程
27、序的重要基礎(chǔ)。附西湖導(dǎo)游系統(tǒng)程序源代碼#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMaxViewNum50景點(diǎn)個(gè)數(shù)最大50#defineMaxRoad1000/定義路徑為無(wú)窮大12數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告#defineN10/目前景點(diǎn)個(gè)數(shù)voidmap();/自定義函數(shù)原型說(shuō)明(景點(diǎn)地圖)voidfloyd();/自定義函數(shù)原型說(shuō)明voiddisplay(inti,intj);/自定義函數(shù)原型說(shuō)明voidintroduce。;自定義函數(shù)原型說(shuō)明typedefstructcharname3
28、0;/景點(diǎn)名稱charnumber10;/景點(diǎn)序號(hào)charintroduce200;/景點(diǎn)介紹Elemtype;typedefstructintnum;/景點(diǎn)編號(hào)Elemtypedata;/景點(diǎn)信息View;/定義景點(diǎn)typedefstructViewviewMaxViewNum;/存放頂點(diǎn)的一維數(shù)組,數(shù)組第零單元沒有用上unsignedintlengthMaxViewNumMaxViewNum;/存放路徑長(zhǎng)度if(shortestij!=MGr.lengthij)intm,n;MGraph;MGraphMGr;/全局變量,定義MGr為MGrap卷型intshortestMaxViewNumM
29、axViewNum;/定義全局變量存貯最小路徑13數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告intpathMaxViewNumMaxViewNum;/定義存貯路徑view()/十個(gè)景點(diǎn)的具體信息(inti,j;MGr.view1.num=1;strcpy(MG,"蘇堤春曉");strcpy(MGroduce,"蘇堤春曉俗稱蘇公堤,為西湖十景之首。是一條貫穿西湖南北風(fēng)景區(qū)的林蔭大堤,蘇堤南起南屏山麓,北到棲霞嶺下,全長(zhǎng)近三公里,堤寬平均36米。");MGr.view2.num=2;strcpy(MGr.view2
30、.,"曲院風(fēng)荷");strcpy(MGroduce,”曲院風(fēng)荷位于西湖西側(cè),岳飛廟前面。南宋時(shí),此有一座官家釀酒的作坊,取金沙澗的溪水造曲酒,聞名國(guó)內(nèi)。附近的池塘種有菱荷,每當(dāng)更日風(fēng)起,灑香荷香沁人心脾,因名“曲院風(fēng)荷"?!保?;MGr.view3.num=3;strcpy(MG,"平湖秋月");strcpy(MGroduce,”平湖秋月,西湖十景之一,位于白堤西端,孤山南麓,瀕臨外西湖。憑臨湖水,登樓眺望秋月,在恬靜中感西湖的浩淼
31、,洗滌煩躁的心境,是她的神韻所在。");MGr.view4.num=4;strcpy(MG,"斷橋殘雪");strcpy(MGroduce,”斷橋的石橋拱面無(wú)遮無(wú)攔,在陽(yáng)光下冰雪消融,露出了斑駁的橋欄,而橋的兩端還在皚皚白雪的覆蓋下。依稀可辯的石橋身似隱似現(xiàn),而涵洞中的白雪奕奕生光,橋面灰褐形成反差,遠(yuǎn)望去似斷非斷,故稱斷橋。");MGr.view5.num=5;strcpy(MG,"柳浪聞鶯");14數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告strcpy(
32、MGroduce,"南宋時(shí),這里是京城最大的御花園,稱聚景園。當(dāng)時(shí)園內(nèi)有會(huì)芳殿和三堂、九亭,以及柳浪橋和學(xué)士橋。清代恢復(fù)柳浪聞鶯舊景。有柳洲之名。其間黃鶯飛舞,競(jìng)相啼鳴,故有“柳浪聞鶯”之稱。");MGr.view6.num=6;strcpy(MG,"花巷觀魚");strcpy(MGroduce,"紅魚池位于園中部偏南處,是全園游賞的中心區(qū)域。池岸曲折自然,池中堆土成島,池上架設(shè)曲橋,倚橋欄俯看,數(shù)千尾金鱗紅魚結(jié)隊(duì)往來(lái),潑刺戲水。)MGr.view
33、7.num=7;strcpy(MG,"雷鋒夕照");strcpy(MGroduce,"位于西湖湖南、凈慈寺前的夕照山上,因晚霞鍍塔,佛光普照而聞名。");MGr.view8.num=8;strcpy(MG,"雙峰插云");strcpy(MGroduce,"巍巍天目山東走,其余脈的一支,遇西湖而分弛南山、北山,形成環(huán)抱狀的名勝景區(qū),兩山之巔既南高峰和北高峰。");MGr.view9.nu
34、m=9;strcpy(MG,"南屏晚鐘");strcpy(MGroduce,"即指南屏山凈慈寺傍晚的鐘聲,南屏山在杭州西湖南岸、玉皇山北,九曜山東。主峰高百米,林木繁茂,石壁如屏,北麓山腳下是凈慈寺,傍晚鐘聲清越悠揚(yáng)。");MGr.view10.num=10;strcpy(MG,"三潭映月");strcpy(MGroduce,"岸上金桂婆娑,柳綠花明,與雕欄畫棟的建筑相映成趣。具有湖中有島,
35、島中有湖,園中有園,曲回多變,步移景新的江南水上庭園的藝術(shù)特色。)15數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告for(i=1;i<=N;i+)(for(j=1;j<=N;j+)(MGr.lengthij=MaxRoad;)for(i=1;i<=N;i+)(shortestij=0;)設(shè)定已有路徑的長(zhǎng)度MGr.length12=MGr.length21=2;MGr.length23=MGr.length32=5;MGr.length28=MGr.length82=3;MGr.length29=MGr.length92=4;MGr.length26=MGr.length62=3;MGr.length
36、64=MGr.length46=6;MGr.length67=MGr.length76=5;MGr.length36=MGr.length63=10;MGr.length57=MGr.length75=7;MGr.length310=MGr.length103=8;MGr.length11=MGr.length22=0;MGr.length33=MGr.length44=0;MGr.length55=MGr.length66=0;16數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告MGr.length77=MGr.length88=0;MGr.length99=MGr.length1010=0;voidmap()/地圖信
37、息printf("平湖秋月-|printf("|.|-|n");printf("|三潭映月雷鋒夕照n");printf("|n");printf("|-花巷觀魚printf("|n");printf("|n");printf("|雙峰插云斷橋殘雪n");printf("|n");printf("曲院風(fēng)何-11printf("|n");printf("蘇堤春曉南屏晚鐘n");n"
38、);|-|柳浪聞鶯n");n");17數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告voidfloyd()/用floyed算法求兩個(gè)景點(diǎn)的最短路徑(inti,j,k;/所求兩個(gè)景點(diǎn)i,j及中間經(jīng)過(guò)點(diǎn)kfor(i=1;i<=N;i+)for(j=1;j<=N;j+)(shortestij=MGr.lengthij;pathij=0;for(k=1;k<=N;k+)(for(i=1;i<=N;i+)(for(j=1;j<=N;j+)if(shortestij>(shortestik+shortestkj)(/用path記錄從i至Uj的最短路徑上點(diǎn)j的前驅(qū)景點(diǎn)的序號(hào)sh
39、ortestij=shortestik+shortestkj;pathij=k;pathji=k;18數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告)/floyedvoiddisplay(inti,intj)(voidintroduce();/打印兩個(gè)景點(diǎn)的路徑及最短距離inta,b;a=i;b=j;printf("您要查詢的兩景點(diǎn)間最短路徑是:nn");fflush(stdin);if(shortestij!=MaxRoad)(if(i<j)(printf("%s",MG);while(pathij!=0)(/把i至”的路徑上所有經(jīng)過(guò)的景
40、點(diǎn)按逆序打印出來(lái)printf("<-%s",MG);/調(diào)用景點(diǎn)名稱19數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告printf("<-%s",MG);if(i<j)j=pathij;elsei=pathji;printf("<-%sn",MG);printf("%s->%s的最短路徑是:%d千米。nn",MG,MG,shortest
41、ab);elseprintf("%s",MG);while(pathij!=0)把i至叮的路徑上所有經(jīng)過(guò)的景點(diǎn)按順序打印出來(lái)printf("->%s",MG);if(i<j)j=pathij;elsei=pathji;printf("->%sn",MG);printf("%s->%s的最短路徑是:%d千米。20數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告n",MG,MGr
42、.,shortestab);)else/輸入景點(diǎn)路徑不合法時(shí)提示錯(cuò)誤printf("輸入錯(cuò)誤!不存在此路!nn");printf("n");)/displayintshortestdistance()/要查找的兩景點(diǎn)的最短距離inti,j;printf("請(qǐng)輸入要查詢的兩個(gè)景點(diǎn)的編號(hào)(1->10的數(shù)字編號(hào)并用,間隔):");scanf("%d,%d",&i,&j);if(i>N|i<=0|j>N|j<0)printf("輸入信息錯(cuò)誤!nn");printf("請(qǐng)輸入要查詢的兩個(gè)景點(diǎn)的編號(hào)(1->10的數(shù)字編號(hào)并用,間隔):n");scanf("%d,%d",&i,&j);)elsefloyd();調(diào)用兩個(gè)函數(shù)21數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告display(i,j);)return1;fflush(stdin);/清屏)/shortestd
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)合成纖維聚酯切片數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)仿皮表盒數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 河南省周口市扶溝縣2024-2025學(xué)年九年級(jí)上學(xué)期1月期末化學(xué)試題(含答案)
- 跳水闖關(guān)考試題及答案
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職法學(xué)能力測(cè)試試卷A卷附答案
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職政治學(xué)全真模擬考試試卷A卷含答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備中級(jí)技能題庫(kù)檢測(cè)試卷B卷附答案
- 2024河北省中考英語(yǔ)真題含答案
- 郵輪切艙合同(2篇)
- 采購(gòu)追加合同范本(2篇)
- HG∕T 3642-2016 水處理劑 丙烯酸-2-甲基-2-丙烯酰胺基丙磺酸類共聚物
- QCT1165-2022汽油乘用車炭罐用空氣濾清器
- DL5714-2014火力發(fā)電廠熱力設(shè)備及管道保溫防腐施工技術(shù)規(guī)范
- 選擇性必修二《Unit 3 Food and Culture》單元課件及小結(jié)
- 實(shí)驗(yàn)室廢液處理臺(tái)賬
- 2024年湖南省岳陽(yáng)市中考數(shù)學(xué)一模試卷
- 2024年江蘇護(hù)理職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完美版
- DZ∕T 0080-2010 煤炭地球物理測(cè)井規(guī)范(正式版)
- 2024年國(guó)家公務(wù)員考試時(shí)事政治必考試題庫(kù)(完整版)
- 2021泛海三江JB-QBL-FJ300防火門監(jiān)視器說(shuō)明書
- 電子學(xué)會(huì)2022年12月青少年軟件編程Python等級(jí)考試試卷一級(jí)真題(含答案)
評(píng)論
0/150
提交評(píng)論