




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、紙牌游戲31問(wèn)題的提出1問(wèn)題的提出任務(wù):編號(hào)為152張牌,正面向上,從第2張開(kāi)始,以2為基數(shù),是2的倍 數(shù)的牌翻一次,直到最后一張牌;然后,從第3張開(kāi)始,以3為基數(shù),是3的倍 數(shù)的牌翻一次,直到最后一張牌;然后從第4張開(kāi)始,以4為基數(shù),是4的倍 數(shù)的牌翻一次,直到最后一張牌;再依次5的倍數(shù)的牌翻一次,6的,7的直 到 以52為基數(shù)的翻過(guò),輸岀:這時(shí)正面向上的牌有哪些?輸出的紙牌號(hào)為:149162536493. 2概要設(shè)計(jì)1. 當(dāng)每個(gè)號(hào)碼每次遇到是某個(gè)數(shù)的倍數(shù)時(shí),都會(huì)相應(yīng)的翻一次,這樣,每張 牌會(huì)翻的次數(shù)就各不一樣,可能很多次,也可能只有一兩次,結(jié)果就只是要輸出 在經(jīng)過(guò)各個(gè)不同次數(shù)的翻牌后,正面
2、向上的牌都有哪兒個(gè)。舉例說(shuō)明一下,比如 24,第一次它是2的倍數(shù)時(shí)要從正面翻到背面,當(dāng)進(jìn)行到3時(shí),就乂要從行面翻 回來(lái),而到4時(shí)還要在翻,同理呢,到6. 8. 12它都要來(lái)回的翻。如果它在多 次的翻牌后,正面還向上了,那么它就是要輸岀的結(jié)果之一。2. 用#defineopposite(i)i = i?0:1這個(gè)宏將牌的狀態(tài)標(biāo)志求反,也即為翻牌 操作。將所有的牌建立一個(gè)數(shù)組,運(yùn)用for的循環(huán)嵌套執(zhí)行以下操作:把52張牌初始化成正面朝 上、控制基數(shù)和翻牌次數(shù),判斷最終的紙牌朝向并打印出結(jié)果,具體實(shí)現(xiàn)算法參看詳細(xì)設(shè)汁。3. 3流程圖根據(jù)算法思想,畫(huà)流程圖如下:3. 4源代碼include <s
3、tdio. h> #dcfinc obverse 0 /正面朝上#definc adverse 1 /背面朝上#definc opposite(i) i = i?0:l /這個(gè)宏是將牌的狀態(tài)標(biāo)志求反,也即為翻牌 操作void main()int card52 ;/52 張牌for (int i 二 0; i 52; i+)cardi = obverse; /將52張牌初始化成正面朝上for (int j=2; j<=52; j+) /此層循環(huán)是控制基數(shù)的for (int k = j; k <= 52 ; k+)/此層循環(huán)是控制從第幾張牌開(kāi)始if (k%j二二0)/判斷第k張牌
4、除以基數(shù)j后的余數(shù)是否為0,如為0就是能整除opposite (card k-1) ;/翻牌 for (int h = 0; h < 52; h+)/開(kāi)始打印if (cardh = obverse)/判斷牌的狀態(tài)是否為正面朝上printf ("第d張牌正而朝上n", h+1);3. 5結(jié)果與分析1. 這題的時(shí)間復(fù)雜度是0(52)。2. 雖然本次程序的題目難度與其他問(wèn)題相比不是很高,但仍有很多問(wèn)題我們 是很容易忽視的,其一:在理解題目的要求時(shí),注意翻牌的次數(shù)可能有多 次;其二:for循環(huán)的嵌套使用在書(shū)寫(xiě)時(shí)很容易漏掉大括弧。3. 運(yùn)用更多的基礎(chǔ)算法,使得程序和算法思想得到
5、更好的表現(xiàn),為增強(qiáng)算法 的可讀性,則算法改進(jìn)如下:# include<stdio.h>void main()int izj,card52;for(i=0;i<52;i+)/52張牌所有狀態(tài)均為1,即均為正面cardi=l;for(j=2;j<=52;j+) 對(duì)52張牌(序號(hào)放在i里)對(duì)2, 3.52 (放在j里)按 i+1是否是j的倍數(shù)進(jìn)行狀態(tài)翻轉(zhuǎn)。for(i=0;i<52;i+)if(i+l)%j=o)cardi=cardi?o:l;printfpositive card are:");for(i=0;i<52;i+)對(duì)翻轉(zhuǎn)處理后狀態(tài)仍然是止面的
6、(card保持為1)的將其 編號(hào)輸出。if(cardi) printf(h%d nzi+l);4 測(cè)試的結(jié)果如下:課程設(shè)計(jì)總結(jié)這個(gè)學(xué)期是我第一次接觸數(shù)據(jù)結(jié)構(gòu),也是我第一次接觸“課程設(shè)計(jì)”, 在完成設(shè)計(jì)的過(guò)程中,我遇到了一系列的問(wèn)題,能明顯感覺(jué)到自己在很多方面的 不足,但另一方面,問(wèn)題是要分析解決的,找出問(wèn)題以便為完善學(xué)習(xí)計(jì)劃,改變 學(xué)習(xí)內(nèi)容與方法提供實(shí)踐依據(jù)。所以在整個(gè)過(guò)程中,我不斷加深了對(duì)數(shù)據(jù)結(jié)構(gòu)的 理解與一些程序?qū)憰?shū)時(shí)要注意的事項(xiàng),體會(huì)了數(shù)據(jù)結(jié)構(gòu)這門(mén)課程在解決現(xiàn)實(shí) 生活問(wèn)題上的可行性,也更進(jìn)一步地激發(fā)了我的學(xué)習(xí)熱情。做一個(gè)課程設(shè)計(jì)要注意很多方面,無(wú)論是格式,還是書(shū)寫(xiě)的內(nèi)容和要表達(dá)的 思想都
7、得嚴(yán)格要求自己,所以做起來(lái)真的不算容易。本次課程設(shè)計(jì)涉及了很多知 識(shí),由于往日沒(méi)有學(xué)得很扎實(shí),對(duì)某些問(wèn)題仍然比較疑惑,所以要進(jìn)行充足的補(bǔ) 習(xí)。期間,我翻閱了很多書(shū)籍,知識(shí)總是聯(lián)系很緊密的,解決完這個(gè)問(wèn)題乂發(fā)現(xiàn) 了新的問(wèn)題,之后,為了解決新問(wèn)題又發(fā)現(xiàn)了更多的問(wèn)題,就這樣,我得等到一 個(gè)一個(gè)把問(wèn)題處理完。問(wèn)題越多,明白的也就會(huì)越來(lái)越多,做一次課程設(shè)計(jì)就像從頭到尾做了一次 系統(tǒng)的復(fù)習(xí),從基礎(chǔ)到難點(diǎn),從輪廓到每個(gè)知識(shí)點(diǎn),數(shù)據(jù)結(jié)構(gòu)的研究?jī)?nèi)容在我的 腦海里就再也不像以前那么模糊了。設(shè)計(jì)程序來(lái)解決現(xiàn)在存在的問(wèn)題,把理論知 識(shí)付諸于實(shí)踐,對(duì)于我們這些計(jì)算機(jī)專業(yè)的本科生來(lái)說(shuō),實(shí)際能力的培養(yǎng)至關(guān)重 要,而這種實(shí)際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂走向?qū)嵺`, 這也是我們學(xué)習(xí)的目的。做完設(shè)計(jì),我已深刻體會(huì)到了學(xué)習(xí)這門(mén)課程的重要性與 必要性了,同時(shí),它留給我很多思考:學(xué)習(xí)是思考一個(gè)的過(guò)程,我們應(yīng)該主動(dòng)去 想學(xué)習(xí)一門(mén)知識(shí)
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 韓式護(hù)欄施工方案
- 第二單元 讓機(jī)器認(rèn)識(shí)我第3節(jié)“認(rèn)出”一個(gè)人 教學(xué)設(shè)計(jì) 2023-2024學(xué)年川教版(2019)初中信息技術(shù)八年級(jí)上冊(cè)
- 合同范本買(mǎi)賣合同
- 專職老師聘用合同范本
- 增強(qiáng)學(xué)生自主學(xué)習(xí)意識(shí)的方法計(jì)劃
- 班主任與學(xué)校管理層的溝通計(jì)劃
- 歌唱與律動(dòng)小班音樂(lè)教育探討計(jì)劃
- 可持續(xù)發(fā)展在年度計(jì)劃中的應(yīng)用
- 法務(wù)部合規(guī)管理工作回顧與展望計(jì)劃
- 九年級(jí)體育 教學(xué)實(shí)錄(素質(zhì)練習(xí)1) 人教新課標(biāo)版
- “雙減”背景下初中英語(yǔ)作業(yè)優(yōu)化設(shè)計(jì)的實(shí)踐研究
- Barrett食管醫(yī)學(xué)知識(shí)講解
- DB3302T 1016-2018城市綠地養(yǎng)護(hù)質(zhì)量等級(jí)標(biāo)準(zhǔn)
- 2023年寧波財(cái)經(jīng)學(xué)院?jiǎn)握忻嬖囶}庫(kù)及答案解析
- 數(shù)獨(dú)課件完整版
- 西師大版六年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)知識(shí)點(diǎn)匯總
- 江西2023年分宜九銀村鎮(zhèn)銀行社會(huì)招聘上岸提分題庫(kù)3套【500題帶答案含詳解】
- 2023年知識(shí)產(chǎn)權(quán)保護(hù)公需課試題答案
- JJG 370-2019在線振動(dòng)管液體密度計(jì)
- GB/T 8162-2018結(jié)構(gòu)用無(wú)縫鋼管
- GB/T 36018-2018吹氧金屬軟管
評(píng)論
0/150
提交評(píng)論