



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、猴子選大王數(shù)據(jù)構造課程設計報告內(nèi)附詳盡說明猴子選大王數(shù)據(jù)構造課程設計報告內(nèi)附詳盡說明4/4猴子選大王數(shù)據(jù)構造課程設計報告內(nèi)附詳盡說明1.需求剖析問題定義:一堆猴子都有編號,編號是1,2,3n,這群猴子(n個)依據(jù)1-n的次序圍坐一圈,從第1個開始數(shù),每數(shù)到第m個,該猴子就要走開此圈,這樣挨次下來,直到圈中只剩下最后一只猴子,則該猴子為大王。m,n鍵盤輸入,且mn,輸出為大王的猴子的號數(shù)。問題分析:依據(jù)任務描繪可知,編號是1,2,3n的一群猴子依據(jù)1-n的次序圍坐一圈,所以能夠用指針指向數(shù)組的方法給數(shù)組賦值,輸入n值和m值,為保證mn,用一個while()語句實現(xiàn),假如輸錯,報錯,再輸入。用fo
2、r循環(huán)實現(xiàn)猴子編號。從1開始數(shù)到m的猴子出列,即用指針挪動查找法將計數(shù)器數(shù)到m的指針指向的內(nèi)容變成0,用for循環(huán),直到只有一個元素不為0時,最后不為0的元素的值即為大王。實現(xiàn)這個程序功能需3個模塊,一個模塊用數(shù)組指針實現(xiàn)猴子編號,一個模塊用指針挪動查找法實現(xiàn)猴子出局,最后主模塊將前兩個模塊要用到的函數(shù),數(shù)組定義。詳盡步驟以下:第一步成立數(shù)組,填入猴子編號及猴子出局時報的數(shù)第二步從第一個猴子報數(shù)第三步數(shù)到m讓指針指向元素變成0第四步連續(xù)報數(shù),重復第三步2.綱領設計(流程圖)開始定義構造體,變量Calloc()分派內(nèi)存For循環(huán)成立數(shù)組賦值實現(xiàn)猴子編號指針挪動查找Count=n-1猴子數(shù)數(shù)For
3、(i=0;count!=0;ptr2+If(Ptr2=ptr+)n)Ptr2=ptr;保證猴子圍成圈N*ptr2=0?i+i+Yi=m?NY*ptr2=i=0Count-Count=0?NY輸出大王號數(shù)break3.詳盡設計#include#include/使用calloc()函數(shù)voidFindKing_pointer(int,int,int*);/voidInitialize(int,int*);/初始化數(shù)組intmain()intm,n,*ptr;printf(輸入猴子數(shù)與出局時報的數(shù)scanf(%d%d,&n,&m);while(nm)printf(輸入數(shù)占有誤,請從頭輸入printf
4、(輸入猴子數(shù)與出局時報的數(shù)scanf(%d%d,&n,&m);ptr=(int*)calloc(n,sizeof(int);Initialize(n,ptr);FindKing_pointer(m,n,ptr);free(ptr);return0;/*挪動指針法找大王整形和指針型n);!n);n);在數(shù)組中挨次填入1,2,3,4,*/voidInitialize(intn,int*ptr)inti;for(i=0;in;i+)ptri=i+1;/*循環(huán)一次指針向后移一位,所指元素不為0時計數(shù)器加1.挪動指針,當計數(shù)器數(shù)到m時將指針所指元素設為0.*/voidFindKing_pointer(i
5、ntm,intn,int*ptr)inti,count,*ptr2;count=n-1;/count=0時停止循環(huán)就是只剩一個猴子時ptr2=ptr;/挪動ptr2進行查找開始時ptr為多少/calloc()為指針種類的元素分派內(nèi)存時,元素被初始化為空指針for(i=0;count!=0;ptr2+)if(ptr2=ptr+n)ptr2=ptr;/*指針所指元素不為0時計數(shù)器加1.*/if(*ptr2!=0)i+;/*計數(shù)器數(shù)到m時將指針所指元素設為0*/if(i=m)*ptr2=i=0;count-;/用于停止循環(huán)/*最后不為0的元素的值即為大王的編號*/for(ptr2=ptr;ptr2+
6、)if(*ptr2!=0)printf(第%d個猴子是大王n,*ptr2);break;/*思想是猴子圍坐一圈,有N個猴子,開始數(shù)數(shù),數(shù)到第M個猴子,該猴子就出列,此后再從該猴子的下一個猴子開始數(shù)到第M個猴子,直到只剩下一個猴子時。該猴子就是所要選得大王*/4.結果分析設計總結在課程設計中,第一要看清問題,將問題要求理解透辟,在構想要怎樣實現(xiàn),要用到哪些函數(shù),要用什么算法,在課程構想中選算法是一個很重要的見解,只有確立用這么算法后才能接下來的工作,將流程圖畫在紙上,再挨次編寫代碼,在程序設計中,編寫代碼但是一個方面,調(diào)試才是重點。它是一個相當繁瑣的過程,有很多新的問題需要被解決,但同時它也是一個比較重要的過程,由于在程序調(diào)試過程中,你會學到很多新的東西,進而增添你編程的經(jīng)驗。經(jīng)過本次實習,溫固了數(shù)據(jù)構造的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國電纜用滑石粉項目創(chuàng)業(yè)計劃書
- 2025年中國電能替代行業(yè)市場調(diào)查及“”投資戰(zhàn)略預測報告
- 2025年新增年產(chǎn)30萬張牛羊皮鞋面革技術改造項目申請立項可行性研究報告優(yōu)
- 天府廣場英語介紹課件
- 健康管理(PHM)行業(yè)市場現(xiàn)狀及投資前景研究報告(2025版)
- 中國輪轂軸承潤滑脂項目投資計劃書
- 如何在社交媒體中實現(xiàn)精細化運營
- 社區(qū)家政業(yè)務方案
- 制造公司年度工作計劃框架
- 電子商務跨境支付解決方案商業(yè)計劃書
- 科研項目實施工作總結報告范文
- JGJ107-2016鋼筋機械連接技術規(guī)程
- DL-T1098-2016間隔棒技術條件和試驗方法
- 人文英語1-國開機考答案
- TD/T 1069-2022 國土空間生態(tài)保護修復工程驗收規(guī)范(正式版)
- 員工下班喝酒意外免責協(xié)議書
- 江蘇醫(yī)療美容主診醫(yī)師
- 重慶市開州區(qū)2022-2023學年七年級下學期語文期末試卷(含答案)
- 四川省德陽市綿竹市2024年八年級二模生物、地理試題+-
- DB50T 1579-2024 大米生產(chǎn)加工技術規(guī)范
- 家電售后服務管理辦法
評論
0/150
提交評論