數(shù)據結構課程設計報告猴子選大王_第1頁
數(shù)據結構課程設計報告猴子選大王_第2頁
數(shù)據結構課程設計報告猴子選大王_第3頁
數(shù)據結構課程設計報告猴子選大王_第4頁
數(shù)據結構課程設計報告猴子選大王_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、北京化工大學北方學院課程設計報告課程名稱 數(shù)據結構課程設計 設計題目 猴子選大王 專業(yè)、班級 學 號 姓 名 指導教師 設計時間 年 月 日一、 引言(簡要說明設計題目的目的、意義、內容、主要任務等)1 設計目的1)培養(yǎng)學生運用算法與數(shù)據結構的基本知識解決實際編程中的數(shù)據結構設計和算法設計問題。2)訓練學生靈活應用所學數(shù)據結構知識,獨立完成問題分析,結合數(shù)據結構理論知識,編寫程序求解指定問題3)提高綜合運用所學的理論知識和方法獨立分析和解決問題的能力;4)訓練用系統(tǒng)的觀點和軟件開發(fā)一般規(guī)范進行軟件開發(fā),鞏固、深化學生的理論知識,提高編程水平,并在此過程中培養(yǎng)他們嚴謹?shù)目茖W態(tài)度和良好的工作作風。

2、2 內容本次課程設計完成模塊:猴子選大王3 主要任務一堆猴子都有編號,編號是1,2,3 .m ,這群猴子(m個)按照1-m的順序圍坐一圈,從第1開始數(shù),每數(shù)到第n個,該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最后一只猴子,則該猴子為大王。二、 正文(課程設計的主要內容,包括實驗與觀測方法和結果、儀器設備、計算方法、編程原理、數(shù)據處理、設計說明與依據、加工整理和圖表、形成的論點和導出的結論等。正文內容必須實事求是、客觀真切、準確完備、合乎邏輯、層次分明、語言流暢、結構嚴謹,符合各學科、專業(yè)的有關要求。)1應用程序功能程序運行結果如下:2. 輸入數(shù)據類型、格式和內容限制輸入數(shù)據為整型,切勿輸

3、入整形以外數(shù)據類型,否則程序將報錯。3. 主要算法模塊描述流程圖:4. 源程序代碼#include iostream#include stdlib.husing namespace std;typedef struct nodeint data;struct node *next;/定義結點指針listnode;typedef listnode *linklist;/自定義鏈表類型listnode *q,*p;linklist head=(linklist)malloc(sizeof(listnode);/申請頭結點/*按將猴子數(shù)量編號并存入鏈表*/linklist create(int n)

4、int i;p=head;p-next=null;for(i=1;idata=i;p-next=q;p=q;p-next=null;return head;/返回鏈表頭指針/*打印鏈表*/void printlist(linklist head)p=head-next;while(p)/打印鏈表直至鏈表結尾coutdatanext;/*刪除被選到的猴子*/void delete(listnode *b,listnode *pb)/*pb為刪除結點的前驅*/pb-next=b-next;free(b);/*猴子選大王(數(shù)n個)*/int king(linklist head,int n,int

5、i)int j,k;listnode *pp,*t; /*刪除節(jié)點前驅*/p=head;if(i=1)return i;while(i!=1)for(j=0;jnext;if(!p)p=head-next;if(!p-next)t=head;/當刪除的結點為最后一個結點時,t指向頭結點elset=pp;delete(p,pp);p=t;i-;k=pp-data;/將最后一只猴子的編號賦值給kreturn k;/返回最后一只猴子編號void main()int i,c,k,flag=0;cout請輸入猴子數(shù)量i;cout-將猴子順序編號-endl;printlist(create(i);/調用將

6、猴子順序編號的函數(shù)coutendl-編號結束-endl;while(!flag)cout第幾個猴子離開?c;if(ci)cout輸入數(shù)量大于猴子數(shù)量,請重新輸入endl;if(ci|c=i) flag=1;k=king(head,c,i);/調用猴子先大王函數(shù)cout大王編號為 kendl;三 結論(應當準確、完整、明確精練;也可以在結論或討論中提出建議、設想、尚待解決問題等。)本次課程設計在整整一周的時間內得以完成,全部內容主要包括:目錄,課題設計背景,詳細設計,設計結果及分析等方面的內容,主要通過上網收集資料,查找參考書目,了解圖書管理的設計背景,明確設計方向和內容,在此基礎上形成了該課程

7、設計的的基礎框架。再進行源代碼的創(chuàng)作以及整合,并及時上級進行調試,保證代碼的有效性。具體內容在程序設計各章節(jié)均有體現(xiàn)。在本次課程設計中,我收獲了許多。首先,在課程設計中通過對相關資料的搜索,設計猴子選大王實際上是一個約瑟夫環(huán)問題,設計這個程序比較簡單,更重要的是在看到現(xiàn)象的同時我看到了它的本質,程序設計確實是一門神奇的工具,它可以通過普普通通的程序代碼實現(xiàn)很多法在的流程,在減少人力勞動的同時,展現(xiàn)著科學的魅力。這樣是我更加清楚地認識到自身存在的差距,所學的那點知識是遠遠不夠的,學無止境才是真道理。其次,課程設計的主要內容和目的是解決實際問題,同時運用所學的知識。這是我認識到了將知識活學活用的重

8、要性。以往的我們只是簡簡單單的將書本上的知識以模板的形式刻入腦袋中,而在面對實際問題時卻往往不知所措,這是理論泛濫帶來的直接后果。這次的實踐,讓我將上學期所學的c語言和本學期所學的數(shù)據結構在實際的操作運用中進一步鞏固,對于那些沒有學透的知識,如,函數(shù)調用,結構體等,在不停摸索,商討的過程中最終將它們一一解決,同時也新增了許多沒有學到過的內容。最后,對于我來說,獨立完成這項課程設計是十分困難的,在學習和復習知識的過程中,難免要請教同學老師,他們的熱心,讓我感受到了團隊的力量和團隊的溫暖,使我能順利的完成任務。課程設計的結束并不代表著學習的結束。這次的設計,把我?guī)氲搅艘粋€全新的不曾接觸過的領域,

9、讓我在以往只是注重操作的基礎上,更多的思考到了,這是如何實現(xiàn)的,運用我所學到的知識是不是可以同樣做出這樣的網站,實現(xiàn)不一樣的操作,達到同樣的效果?我似乎有所領悟了,學習的本質不是讓你牢牢的掌握一個知識,而是讓你掌握一種方法,一種思想。同時,我知識的局限是毋庸置疑的,在縱多高級語言中,如,c+,java ,c#,c語言編程是我目前唯一能做到的,并且還做得很不完善,所以在以后的學習中一定要抓緊現(xiàn)在的大好時光擴充自己的知識儲備,掌握更多的方法,為將來實現(xiàn)更多領域功能所用!同時本次課程設計讓我學習知識的同時,也鍛煉了自己面對新問題時的抗壓能力,直面困難,不拋棄不放棄,堅持到底!在以后的學習和生活中,我

10、將發(fā)揚這些優(yōu)點,劈荊斬浪,挑戰(zhàn)自我,一步一步往前走。由于時間有限,本人水平有限,報告中可能存在諸多不完善之處,還望見諒。四、 參考文獻1.譚浩強著,c程序設計(第三版),北京:清華大學出版社。2. gary j.bronson著,劉勇譯,c+程序開發(fā)與設計(第二版)北京:人民郵電出版社3.朱站立編著,數(shù)據結構使用c語言(第4版)北京:電子工業(yè)出版社4.譚浩強,張基溫,唐永炎編著,c語言程序設計教程,北京:高等教育出版社19925.譚浩強編著,c程序設計題解與上機指導(第二版),北京:清華大學出版社,19926.譚浩強編著,qbasic語言教程,北京:電子工業(yè)出版社,19977.譚浩強編著,田數(shù)清編著,pascal語言程序設計(第二版),北京:高等教育

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論