下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、猴子選大王數(shù)據(jù)構(gòu)造課程設(shè)計(jì)報告內(nèi)附詳盡說明猴子選大王數(shù)據(jù)構(gòu)造課程設(shè)計(jì)報告內(nèi)附詳盡說明4/4猴子選大王數(shù)據(jù)構(gòu)造課程設(shè)計(jì)報告內(nèi)附詳盡說明1.需求剖析問題定義:一堆猴子都有編號,編號是1,2,3n,這群猴子(n個)依據(jù)1-n的次序圍坐一圈,從第1個開始數(shù),每數(shù)到第m個,該猴子就要走開此圈,這樣挨次下來,直到圈中只剩下最后一只猴子,則該猴子為大王。m,n鍵盤輸入,且mn,輸出為大王的猴子的號數(shù)。問題分析:依據(jù)任務(wù)描繪可知,編號是1,2,3n的一群猴子依據(jù)1-n的次序圍坐一圈,所以能夠用指針指向數(shù)組的方法給數(shù)組賦值,輸入n值和m值,為保證mn,用一個while()語句實(shí)現(xiàn),假如輸錯,報錯,再輸入。用fo
2、r循環(huán)實(shí)現(xiàn)猴子編號。從1開始數(shù)到m的猴子出列,即用指針挪動查找法將計(jì)數(shù)器數(shù)到m的指針指向的內(nèi)容變成0,用for循環(huán),直到只有一個元素不為0時,最后不為0的元素的值即為大王。實(shí)現(xiàn)這個程序功能需3個模塊,一個模塊用數(shù)組指針實(shí)現(xiàn)猴子編號,一個模塊用指針挪動查找法實(shí)現(xiàn)猴子出局,最后主模塊將前兩個模塊要用到的函數(shù),數(shù)組定義。詳盡步驟以下:第一步成立數(shù)組,填入猴子編號及猴子出局時報的數(shù)第二步從第一個猴子報數(shù)第三步數(shù)到m讓指針指向元素變成0第四步連續(xù)報數(shù),重復(fù)第三步2.綱領(lǐng)設(shè)計(jì)(流程圖)開始定義構(gòu)造體,變量Calloc()分派內(nèi)存For循環(huán)成立數(shù)組賦值實(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.詳盡設(shè)計(jì)#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時計(jì)數(shù)器加1.挪動指針,當(dāng)計(jì)數(shù)器數(shù)到m時將指針?biāo)冈卦O(shè)為0.*/voidFindKing_pointer(i
5、ntm,intn,int*ptr)inti,count,*ptr2;count=n-1;/count=0時停止循環(huán)就是只剩一個猴子時ptr2=ptr;/挪動ptr2進(jìn)行查找開始時ptr為多少/calloc()為指針種類的元素分派內(nèi)存時,元素被初始化為空指針for(i=0;count!=0;ptr2+)if(ptr2=ptr+n)ptr2=ptr;/*指針?biāo)冈夭粸?時計(jì)數(shù)器加1.*/if(*ptr2!=0)i+;/*計(jì)數(shù)器數(shù)到m時將指針?biāo)冈卦O(shè)為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.結(jié)果分析設(shè)計(jì)總結(jié)在課程設(shè)計(jì)中,第一要看清問題,將問題要求理解透辟,在構(gòu)想要怎樣實(shí)現(xiàn),要用到哪些函數(shù),要用什么算法,在課程構(gòu)想中選算法是一個很重要的見解,只有確立用這么算法后才能接下來的工作,將流程圖畫在紙上,再挨次編寫代碼,在程序設(shè)計(jì)中,編寫代碼但是一個方面,調(diào)試才是重點(diǎn)。它是一個相當(dāng)繁瑣的過程,有很多新的問題需要被解決,但同時它也是一個比較重要的過程,由于在程序調(diào)試過程中,你會學(xué)到很多新的東西,進(jìn)而增添你編程的經(jīng)驗(yàn)。經(jīng)過本次實(shí)習(xí),溫固了數(shù)據(jù)構(gòu)造的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)兼職技術(shù)人員服務(wù)合同3篇
- 二零二五年度智能交通系統(tǒng)設(shè)備維護(hù)與升級合同3篇
- 二零二五年度新型環(huán)保材料采購合同單方解除協(xié)議2篇
- 二零二五年度軍事基地保密協(xié)議及設(shè)施更新合同3篇
- 2025年度消防工程設(shè)計(jì)人工費(fèi)承包合同范本(含施工圖審查)2篇
- 2025年度無人機(jī)農(nóng)藥噴灑與農(nóng)業(yè)廢棄物處理合同3篇
- 二零二五年度農(nóng)村住房安全應(yīng)急預(yù)案合同
- 二零二五年度農(nóng)村土地經(jīng)營權(quán)轉(zhuǎn)讓與農(nóng)業(yè)可持續(xù)發(fā)展合同
- 2025年度裝配式建筑構(gòu)件生產(chǎn)及施工承包合同3篇
- 二零二五年度港口裝卸機(jī)械設(shè)備采購合同3篇
- 管徑的選擇和管道壓力降的計(jì)算
- 市消化內(nèi)科質(zhì)量控制分中心業(yè)務(wù)指導(dǎo)工作總結(jié)
- 機(jī)動車商業(yè)保險條款(2020版)
- GB/T 44250.1-2024面向油氣長輸管道的物聯(lián)網(wǎng)系統(tǒng)第1部分:總體要求
- 一年級數(shù)學(xué)上冊加減法口算題每日一練25套打印版
- DLT 572-2021 電力變壓器運(yùn)行規(guī)程
- 教育部校企合作辦法
- “技能興威”第一屆威海市職業(yè)技能大賽農(nóng)產(chǎn)品食品檢驗(yàn)員(海洋食品產(chǎn)業(yè)鏈)賽項(xiàng)規(guī)程
- 幼兒園故事繪本《賣火柴的小女孩兒》課件
- 中央2024年國家藥品監(jiān)督管理局中國食品藥品檢定研究院招聘筆試歷年典型考題及考點(diǎn)附答案解析
- 小學(xué)語文四年級上冊單元作業(yè)整體設(shè)計(jì)案例
評論
0/150
提交評論