數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告紙牌游戲_第1頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告紙牌游戲_第2頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告紙牌游戲_第3頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告紙牌游戲_第4頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告紙牌游戲_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、-. z.學(xué)院學(xué)生課程設(shè)計論文題 目: 紙牌游戲 學(xué)生: 00000 學(xué) 號:0 所在院(系): 數(shù)學(xué)與計算機學(xué)院 專 業(yè): 網(wǎng)絡(luò)工程 班 級: 2012級1班 指導(dǎo)教 師: 世文 職稱: 教授 2014年 01月 03日學(xué)院教務(wù)處制-. z.學(xué)院本科學(xué)生課程設(shè)計任務(wù)書題目紙牌游戲1、課程設(shè)計的目的通過本課程設(shè)計教學(xué)所要到達的目的是:培養(yǎng)學(xué)生用學(xué)到的書本知識解決實際問題的能力;培養(yǎng)實際工作所需要的動手能力;培養(yǎng)學(xué)生以科學(xué)理論和工程上能力的技術(shù),規(guī)地開發(fā)大型、復(fù)雜、高質(zhì)量的應(yīng)用軟件和系統(tǒng)軟件具有關(guān)鍵性作用;通過課程設(shè)計的實踐,學(xué)生可以在程序設(shè)計方法、上機操作等根本技能和科學(xué)作風(fēng)方面受到比擬系統(tǒng)和

2、嚴格的訓(xùn)練。2、課程設(shè)計的容和要求包括原始數(shù)據(jù)、技術(shù)要求、工作要求等任務(wù):編號為1-52牌,正面向上,從第2開場,以2為基數(shù),是2的倍數(shù)的牌翻一次,直到最后一牌;然后,從第3開場,以3為基數(shù),是3的倍數(shù)的牌翻一次,直到最后一牌;然后從第4開場,以4為基數(shù),是4的倍數(shù)的牌翻一次,直到最后一牌;.再依次5的倍數(shù)的牌翻一次,6的,7的直到以52為基數(shù)的翻過,輸出:這時正面向上的牌有哪些?3、主要參考文獻1數(shù)據(jù)構(gòu)造C語言版,嚴蔚敏,清華大學(xué),20032數(shù)據(jù)構(gòu)造題集,嚴蔚敏,清華大學(xué),20053數(shù)據(jù)構(gòu)造C語言版,大有,高等教育,20044Data Structure with C+,William Fo

3、rdWilliam Topp,清華大學(xué),20034、課程設(shè)計工作進度方案序號時間天容安排備注11分析設(shè)計準備周一22編程調(diào)試階段周二至周三31編寫課程設(shè)計報告周四41考核周五總計5天指導(dǎo)教師簽字日期年 月 日教研室意見:年 月 日學(xué)生簽字: 承受任務(wù)時間: 年 月 日注:任務(wù)書由指導(dǎo)教師填寫。課程設(shè)計論文指導(dǎo)教師成績評定表題目名稱紙牌游戲評分工程分值得分評價涵工作表現(xiàn)20%01學(xué)習(xí)態(tài)度6遵守各項紀律,工作刻苦努力,具有良好的科學(xué)工作態(tài)度。02科學(xué)實踐、調(diào)研7通過實驗、試驗、查閱文獻、深入生產(chǎn)實踐等渠道獲取與課程設(shè)計有關(guān)的材料。03課題工作量7按期圓滿完成規(guī)定的任務(wù),工作量飽滿。能力水平35%0

4、4綜合運用知識的能力10能運用所學(xué)知識和技能去發(fā)現(xiàn)與解決實際問題,能正確處理實驗數(shù)據(jù),能對課題進展理論分析,得出有價值的結(jié)論。05應(yīng)用文獻的能力5能獨立查閱相關(guān)文獻和從事其他調(diào)研;能提出并較好地論述課題的實施方案;有收集、加工各種信息及獲取新知識的能力。06設(shè)計實驗?zāi)芰?,方案的設(shè)計能力5能正確設(shè)計實驗方案,獨立進展裝置安裝、調(diào)試、操作等實驗工作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。07計算及計算機應(yīng)用能力5具有較強的數(shù)據(jù)運算與處理能力;能運用計算機進展資料搜集、加工、處理和輔助設(shè)計等。08對計算或?qū)嶒灲Y(jié)果的分析能力綜合分析能力、技術(shù)經(jīng)濟分析能力10具有較強的數(shù)據(jù)收集、分析、處理、綜合的能力。成

5、果質(zhì)量45%09插圖或圖紙質(zhì)量、篇幅、設(shè)計論文規(guī)化程度5符合本專業(yè)相關(guān)規(guī)或規(guī)定要求;規(guī)化符合本文件第五條要求。10設(shè)計說明書論文質(zhì)量30綜述簡練完整,有見解;立論正確,論述充分,結(jié)論嚴謹合理;實驗正確,分析處理科學(xué)。11創(chuàng)新10對前人工作有改良或突破,或有獨特見解。成績指導(dǎo)教師評語指導(dǎo)教師簽名: 年月日-. z.摘 要 數(shù)據(jù)構(gòu)造課程是計算機專業(yè)中必修的核心課程之一,也是一門理論性很強的一門課程,同時也是一門鍛煉程序涉及能力的實踐課程,數(shù)據(jù)構(gòu)造成為計算機程序設(shè)計的重要理論技術(shù)根底,它不僅是計算機學(xué)科的核心課程,而且已成為其它理工專業(yè)的熱門選修課。主要包括線性表、樹和二叉樹以及圖等根本類型的數(shù)據(jù)構(gòu)

6、造。數(shù)據(jù)構(gòu)造是一門研究非數(shù)值計算的程序設(shè)計問題中計算機的操作對象以及它們之間的關(guān)系和運算等的學(xué)科,包括數(shù)據(jù)的邏輯構(gòu)造、數(shù)據(jù)的存儲構(gòu)造和數(shù)據(jù)的運算這三個方面的容,其中邏輯構(gòu)造可分為線性構(gòu)造和非線性構(gòu)造;存儲構(gòu)造可分為順序存儲和鏈式存儲兩類,圖則屬于邏輯構(gòu)造中的非線性構(gòu)造。廣度優(yōu)先搜索(BFS)用的隊列一步一步完成的,從而找到的是最短路徑。 紙牌游戲課程設(shè)計包括紙牌信息的建立、了解其翻拍的原理、并簡明闡述翻牌的具體步驟與流程、最后輸出與打印翻牌結(jié)果,整個過程使學(xué)生進一步理解和掌握課堂上所學(xué)各種根本抽象數(shù)據(jù)類型的邏輯構(gòu)造、存儲構(gòu)造和操作實現(xiàn)算法,以及它們在程序中的使用方法。掌握一般軟件設(shè)計的根本容和

7、設(shè)計方法,培養(yǎng)學(xué)生進展規(guī)化軟件設(shè)計的能力。而且使學(xué)生掌握使用各種計算機資料和有關(guān)參考資料的方法,提高學(xué)生進展程序設(shè)計的根本能力。關(guān)鍵詞:數(shù)據(jù)構(gòu)造,紙牌游戲,BFS,遍歷AbstractData structure course is one of required core curriculum in puter major, course is a very practical, is also an e*ercise program involves the ability to practice curriculum, has bee an important theoretical a

8、nd technical foundation of puter program design data structure, it is not only the core course of puter science, and has bee a hot elective course for other science majors. Mainly includes the basic data structure type linear table, tree and binary tree and graph of two. Data structure is a research

9、 of non puter program of numerical calculation design problems in operating the objects and their relationships and operations and other disciplines, including logic structure, storage structure and data operation data of the three aspects of content, the logical structure can be divided into linear

10、 and nonlinear structures; storage structure can be divided into sequential storage and chain store two, graph belongs to nonlinear structure in the logical structure. Breadth first search (BFS) with cohort pleted step by step, so as to find the shortest path. A card game Solitaire, curriculum desig

11、n includes information about its principle, and e*pounds the flop remake of the concrete steps and processes, the final output and print flop results, the whole process to enable students to understand and master the various basic abstract data type science class logical structure, storage structure

12、 and operation of the realization of algorithm, and their in the process of using the method. To master the basic content and the general design method of software design, training students ability of design software specification. And to make the students master the use of various puter data and me

13、thods for reference, to improve the students basic ability of program design.Key words:data structure, card games, BFS, traversal-. z.目錄TOC o 1-3 h u HYPERLINK l _Toc30664 摘 要 PAGEREF _Toc30664 I HYPERLINK l _Toc17123 Abstract PAGEREF _Toc17123 II HYPERLINK l _Toc15565 1 前言 PAGEREF _Toc15565 2 HYPER

14、LINK l _Toc4880 1.1 課題背景 PAGEREF _Toc4880 2 HYPERLINK l _Toc815 1.2 課程設(shè)計目的 PAGEREF _Toc815 2 HYPERLINK l _Toc23884 2 相關(guān)技術(shù)分析 PAGEREF _Toc23884 3 HYPERLINK l _Toc1525 2.1概要設(shè)計 PAGEREF _Toc1525 3 HYPERLINK l _Toc3422 2.2設(shè)計原始數(shù)據(jù)的輸入及輸出格式 PAGEREF _Toc3422 4 HYPERLINK l _Toc27114 2.3算法流程圖 PAGEREF _Toc27114 6

15、 HYPERLINK l _Toc8408 3 設(shè)計與實現(xiàn) PAGEREF _Toc8408 7 HYPERLINK l _Toc10763 3.1 數(shù)據(jù)構(gòu)造PAGEREF _Toc10763 7 HYPERLINK l _Toc2414 3.2詳細設(shè)計和編碼 PAGEREF _Toc2414 7 HYPERLINK l _Toc11141 3.2.1 定義全局變量: PAGEREF _Toc11141 7 HYPERLINK l _Toc12526 3.2.1主要程序代碼與分析如下: PAGEREF _Toc12526 7 HYPERLINK l _Toc6231 3.3 上機調(diào)試過程 PA

16、GEREF _Toc6231 10 HYPERLINK l _Toc2850 5 測試結(jié)果及其分析 PAGEREF _Toc2850 11 HYPERLINK l _Toc18398 6 用戶使用說明 PAGEREF _Toc18398 18 HYPERLINK l _Toc25027 7 源代碼 PAGEREF _Toc25027 18 HYPERLINK l _Toc13690 結(jié)論 PAGEREF _Toc13690 19 HYPERLINK l _Toc24849 參考文獻 PAGEREF _Toc24849 20 HYPERLINK l _Toc2370 附錄 PAGEREF _To

17、c2370 211 前言數(shù)據(jù)構(gòu)造是軟件工程專業(yè)的必修課之一,是一門綜合性的專業(yè)根底課。本課程較系統(tǒng)地介紹了軟件設(shè)計中常用的數(shù)據(jù)構(gòu)造以及相應(yīng)的實現(xiàn)算法,如線性表、棧、隊列、樹和二叉樹,圖、檢索和排序等,并對性能進展分析和比擬,容非常豐富。1.1 課題背景數(shù)據(jù)構(gòu)造旨在使學(xué)生學(xué)會分析研究數(shù)據(jù)對象的特性,學(xué)會數(shù)據(jù)的組織方法,以便選擇適宜的數(shù)據(jù)邏輯構(gòu)造和存儲構(gòu)造,以及相應(yīng)的運算,把現(xiàn)實世界中的問題轉(zhuǎn)化為計算機部的表示和處理,這是一個良好的程序設(shè)計技能訓(xùn)練的過程。數(shù)據(jù)構(gòu)造課程設(shè)計不僅可以幫助學(xué)生充分理解、穩(wěn)固所學(xué)的根本概念、原理和方法,更重要的是能夠針對實際問題來選擇數(shù)據(jù)構(gòu)造,設(shè)計相應(yīng)的存儲構(gòu)造并加以實現(xiàn)

18、,從而最終解決問題。結(jié)合數(shù)據(jù)構(gòu)造所學(xué)知識,要求學(xué)生用C語言編程實現(xiàn)一個簡單的紙牌游戲設(shè)計。1.2 課程設(shè)計目的1使學(xué)生進一步理解和掌握課堂上所學(xué)各種根本抽象數(shù)據(jù)類型的邏輯構(gòu)造、存儲構(gòu)造和操作實現(xiàn)算法,以及它們在程序中的使用方法。2使學(xué)生掌握軟件設(shè)計的根本容和設(shè)計方法,并培養(yǎng)學(xué)生進展規(guī)化軟件設(shè)計的能力。3 使學(xué)生掌握使用各種計算機資料和有關(guān)參考資料,提高學(xué)生進展程序設(shè)計的根本能力。2 相關(guān)技術(shù)分析2.1概要設(shè)計按照題目的要求,首先,應(yīng)對52牌進展編號并且保存它們的編號信息,編號的類型為整型,而對于這樣固定的數(shù)據(jù),使用整型數(shù)組是最好的,因此,我們需要在程序的開場定義一共整型的數(shù)組,同時,為了方便對

19、翻轉(zhuǎn)過程的記錄,在定義記錄編號信息的同時,定義一個與之相對應(yīng)的標記數(shù)組,數(shù)組類型為整型。該程序的核心為一個嵌套的循環(huán),所以定義兩個變量i,j作為循環(huán)條件。接著開場對變量進展初始化,首先是編號信息數(shù)組,使用for循環(huán)對數(shù)組進展1到52的賦值,代表52紙牌,然后對標記數(shù)組賦值,將數(shù)組的所有的值初始化為零,方便在接下來的循環(huán)中統(tǒng)計每牌的翻牌數(shù)。數(shù)據(jù)初始化完畢后,開場按照要求對紙牌進展翻轉(zhuǎn),在嵌套循環(huán)中,定義了一個全局變量Flag,值為-1,負數(shù)定義為向下,正數(shù)定義為向上,這樣,翻轉(zhuǎn)一次,即乘以Flag,同時,符合翻轉(zhuǎn)條件時,標記數(shù)組相應(yīng)的編號的紙牌翻牌次數(shù)+1。它都要來回的翻。如果它在屢次的翻牌后,

20、正面還向上了,則它就是要輸出的結(jié)果之一。 循環(huán)完畢后,編號數(shù)組中的數(shù)據(jù)已經(jīng)更新,因此對數(shù)組進展掃描,大于零的即為正面向上的紙牌,輸出其編號即可,同時,輸出標記數(shù)組中的值,顯示每牌的翻牌記錄,方便觀察或者尋找規(guī)律。到此,整個題目完畢。2.2設(shè)計原始數(shù)據(jù)的輸入及輸出格式 原始數(shù)據(jù)要求輸入紙牌的根底編號,編號的輸入為整型。輸出的是經(jīng)過規(guī)律翻轉(zhuǎn)后正面向上的紙牌的編號。輸入的數(shù)據(jù)信息如下:紙牌:1、2、3、51、52。問題直觀分析表:123456789101112123456789101112注:圖中表示翻轉(zhuǎn)一次。2.3算法流程圖2.1:算法設(shè)計圖開場設(shè)一個一維數(shù)組card52,并將所有變量賦初值為0,

21、表示牌正面朝上2=jj52j=kk52k%j=0翻牌,如果cardk-1為0,則變?yōu)?;如果為1,則變?yōu)?k+輸出card數(shù)組中正面朝上的牌的序號完畢j+3 設(shè)計與實現(xiàn)3.1 數(shù)據(jù)構(gòu)造 按照題目要求,整個主體包括一個嵌套的循環(huán),外循環(huán)控制從2開場每紙牌都作為基數(shù)進展翻牌,循環(huán)控制對所有紙牌進展判斷,如果是當前循環(huán)中基數(shù)的倍數(shù),則對其進展翻轉(zhuǎn)操作。具體代碼如下:for(i=2;i=52;i+)for(j=1;j=52;j+)if(j%i=0)dataj-1=dataj-1*Flag;3.2詳細設(shè)計和編碼3.2.1 定義全局變量:作為判斷紙牌是否向上的依據(jù),我們需要定義一個全局變量Flag=-1,

22、在循環(huán)中對所有紙牌進展操作。3.2.1主要程序代碼與分析如下:#define Flag -1考慮到最后要判斷哪些紙牌是正面向上的,所以必須要有一共判斷條件,因此定義一個全局變量作為正反面的判斷條件。void main()int i,j,data52,flag52;char m;在程序開場,建立了兩個數(shù)組,一個存放52牌的編號,另外一個存放相應(yīng)編號的紙牌的翻牌記錄,便于后面對翻牌次數(shù)的輸出。for(i=1;i=52;i+)datai-1=i;通過for循環(huán),向數(shù)組中錄入1-52個數(shù),作為52牌的編號,以便進展接下來的操作flagi-1=0;將flag數(shù)組中的相應(yīng)編號紙牌的翻牌數(shù)初始化為0,在接下

23、來的循環(huán)中,需要對翻牌次數(shù)進展統(tǒng)計。for(i=2;i=52;i+)嵌套循環(huán)的外循環(huán),保證基數(shù)的循環(huán)。for(j=1;j=52;j+)嵌套循環(huán)的循環(huán),對每紙牌進展基數(shù)的倍數(shù)條件判斷if(j%i=0)dataj-1=dataj-1*Flag;flagj-1+;翻牌一次,則相應(yīng)的標記數(shù)組中該編號的位置數(shù)值+1,即將翻牌次數(shù)記入flag數(shù)組中。printf(最后所有正面向上的牌有:);for(i=0;i0)該題目中將大于零的編號定義為正面向上的紙牌的編號printf(第%d牌 ,i+1);printf(n);以上為程序主要代碼的分析。在程序中,主要還包括功能界面,如下:printf(tn);prin

24、tf(tn);printf(t 歡送進入紙牌游戲 n);printf(t 1.查看題目 n);printf(t 2.查看所有紙牌的翻牌次數(shù) n);printf(t 3.查看指定編號紙牌翻牌記錄 n);printf(t 4.查看最終正面向上的紙牌編號 n);printf(t 5.制作人信息 n);printf(t 0.按0鍵完畢 n);printf(tn);printf(tn);同時,整個功能實現(xiàn)由do-while語句和switch語句組合而成,do-while語句可以保證界面最少運行一次,switch語句保證每個功能獨立實現(xiàn),通過choice的輸入來進入不同的功能,同時在每個小的獨立功能,我都

25、添加了獨立判斷是否回到主菜單的語句,如下:printf(是否回到主菜單?(Y/N):);n=getchar();n=getchar();if(n=Y)break;else if(n=N)choice=0;else printf(*(提示:輸入錯誤,默認為繼續(xù)。)*n);整個do-while語句的完畢條件為:choice=0,所以如果用戶輸入為N,則直接將0賦值給choice,則符合循環(huán)完畢的條件,則直接完畢程序,如果輸入為Y,則break,繼續(xù)循環(huán),輸入錯誤,沒有對choice任何的賦值操作,即不能滿足完畢條件,則無論輸入什么都默認為繼續(xù),break后繼續(xù)循環(huán)。由于程序默認的將回車操作通過ge

26、tchar()賦值給n,導(dǎo)致不能正常的實現(xiàn)下面的判斷,而直接顯示為輸入錯誤,所以參加兩個n=getchar()語句,保證第二句能夠正確的實現(xiàn)功能,讓用戶自行輸入條件,進展下一步的操作。在整個程序中,存在著大量的輸入判斷條件,如下:if(num52)printf(t輸入錯誤!n);這兩句代碼就是對輸入的num值進展判斷,由于紙牌序號為1-52,所以不在這個圍的值都為錯誤值,需要有一個錯誤信息的反應(yīng),所以需要對輸入的信息進展判斷,然后通過不同的值對數(shù)據(jù)進展相應(yīng)的操作,這對于程序的正確運行,有著至關(guān)重要的作用。3.3 上機調(diào)試過程該程序任務(wù)相比照擬簡單,思路較明確。在一開場編寫代碼的時候,在嵌套循環(huán)

27、中,外循環(huán)for的條件(i=2;i=52;i+),寫成i=1;i=52;i+,導(dǎo)致對每個紙牌的翻轉(zhuǎn)都多判斷了一次,按照一開場定義的大于零的編號數(shù)為正面向上的條件,最后輸出的結(jié)果正好相反,經(jīng)過修改調(diào)試后,問題解決。在每個case中參加獨立的判斷是否回到主菜單的語句,一開場getchar總是不能正確錄入,沒有輸入就直接運行下一個語句,在參加控制語句后經(jīng)過調(diào)試發(fā)現(xiàn),程序把上一個輸入的回車直接默認賦值給getchar(),導(dǎo)致沒有輸入,直接進展下一個語句,后來使用了兩個連續(xù)的getchar()語句,第一個getchar()語句默認為回車,但是后面一個getchar()語句可以正確的重新輸入判斷值,經(jīng)過

28、重新的調(diào)試,運行正常,問題解決,但是希望能找到更完善的答案。在判斷是否繼續(xù)輸入紙牌編碼的功能中,同樣遇到了這個問題,按照一樣的解決方法解決。整個程序由一個大的do-while語句和switch語句組合實現(xiàn)界面的不同功能,do-while語句通過choice=0作為完畢的條件,在case 3中,有一個小的do-while語句實現(xiàn)紙牌編號的重復(fù)輸入,在整個程序中有很多信息的輸入,需要根據(jù)輸入的信息正確與否來反應(yīng)信息,否則會導(dǎo)致程序出錯,所以在調(diào)試的過程中參加了很多判斷條件,可以解決信息輸入錯誤的情況,但是仍然存在輸入非整型值程序出錯的問題,所以在輸入條件中參加提示信息,以保證信息類型輸入正確。5

29、測試結(jié)果及其分析1.測試結(jié)果如下列圖5.1-5.11;2結(jié)果分析以注釋的形式寫在圖的下方;圖5.1:MessageBo*制作的一個歡送提示5.2:紙牌游戲程序的主功能界面5.3:紙牌游戲程序功能1:查看題目5.4:紙牌游戲程序功能2:查看所有紙牌的翻牌次數(shù)5.4.1:續(xù)5.4第一章 題目與要求5.4.2:續(xù)5.45.5:紙牌游戲程序功能3:查看指定編號紙牌翻牌記錄5.6:紙牌游戲程序功能4:查看最終正面向上的紙牌編號5.7:紙牌游戲程序完畢畫面5.8:主界面輸入錯誤提示5.9:功能3輸入錯誤提示以及判斷是否需要繼續(xù)查詢紙牌編碼5.10:回主菜單判斷以及輸入錯誤提示5.11:功能5輸出制作人信息

30、6 用戶使用說明用戶運行程序,按操作提示進展操作。程序運行環(huán)境VC+6.0。7 源代碼見附錄結(jié)論 這個學(xué)期是我第一次接觸數(shù)據(jù)構(gòu)造,在完成設(shè)計的過程中,我遇到了一系列的問題,能明顯感覺到自己在很多方面的缺乏,但另一方面,問題是要分析解決的,找出問題以便為完善學(xué)習(xí)方案,改變學(xué)習(xí)容與方法提供實踐依據(jù)。所以在整個過程中,我不斷加深了對數(shù)據(jù)構(gòu)造的理解與一些程序?qū)憰鴷r要注意的事項,體會了數(shù)據(jù)構(gòu)造這門課程在解決現(xiàn)實生活問題上的可行性,也更進一步地激發(fā)了我的學(xué)習(xí)熱情。 做一個課程設(shè)計要注意很多方面,無論是格式,還是書寫的容和要表達的思想都得嚴格要求自己,所以做起來真的不算容易。本次課程設(shè)計涉及了很多知識,由于

31、往日沒有學(xué)得很扎實,對*些問題仍然比擬疑惑,所以要進展充足的補習(xí)。期間,我翻閱了很多書籍,知識總是聯(lián)系很嚴密的,解決完這個問題又發(fā)現(xiàn)了新的問題,之后,為了解決新問題又發(fā)現(xiàn)了更多的問題,就這樣,我得等到一個一個把問題處理完。問題越多,明白的也就會越來越多,做一次課程設(shè)計就像從頭到尾做了一次系統(tǒng)的復(fù)習(xí),從根底到難點,從輪廓到每個知識點,數(shù)據(jù)構(gòu)造的研究容在我的腦海里就再也不像以前則模糊了。設(shè)計程序來解決現(xiàn)在存在的問題,把理論知識付諸于實踐,對于我們這些計算機專業(yè)的本科生來說,實際能力的培養(yǎng)至關(guān)重要,而這種實際能力的培養(yǎng)單靠課堂教學(xué)是遠遠不夠的,必須從課堂走向?qū)嵺`,這也是我們學(xué)習(xí)的目的。做完設(shè)計,我已

32、深刻體會到了學(xué)習(xí)這門課程的重要性與必要性了,同時,它留給我很多思考:學(xué)習(xí)是思考一個的過程,我們應(yīng)該主動去想學(xué)習(xí)一門知識后怎么去運用,而不是一味地被動地承受。數(shù)據(jù)構(gòu)造及其算法在解決現(xiàn)實生活中的常見問題和書寫軟件設(shè)計方面上都有著重要的意義,我們應(yīng)該好好掌握它的相關(guān)知識,在以后的學(xué)習(xí)過程中,更多的去學(xué)會如何運用知識。參考文獻1.王昆侖、紅 數(shù)據(jù)構(gòu)造與算法 :中國鐵道2.寧國正 數(shù)據(jù)構(gòu)造C語言版 :東南大學(xué)3.嚴尉敏 數(shù)據(jù)構(gòu)造C語言版 :清華大學(xué)4.吳乃陵 C程序設(shè)計 :高等教育5 譚浩強,基溫,唐永炎編著. C語言程序設(shè)計教程. :高等教育,19926 譚浩強編著. C語言程序設(shè)計. :清華大學(xué),

33、20077 嚴蔚敏,吳偉民編著. 數(shù)據(jù)構(gòu)造(C語言版). :清華大學(xué),20088 嚴蔚敏,吳偉民,米寧編著. 數(shù)據(jù)構(gòu)造題集C語言版:清華大學(xué),20089 愛民編著. 離散數(shù)學(xué). ;郵電大學(xué),2008附錄程序源代碼:#include#include#define Flag -1/定義一個全局變量作為正反面的判斷條件。void main()int i,j,data52,flag52,choice,num;/建立兩個數(shù)組,一個存放52牌的編號,另外一個存放相應(yīng)編號的紙牌的翻牌記錄。char m,n;MessageBo*(NULL,歡送進入紙牌游戲程序!,溫馨提示,MB_ICONASTERISK);/

34、添加了一個MessageBo*歡送對話框for(i=1;i=52;i+)datai-1=i;/錄入52牌的編號。 flagi-1=0;/將相應(yīng)編號紙牌的翻牌數(shù)初始化為0。for(i=2;i=52;i+)/外循環(huán),基數(shù)循環(huán)。for(j=1;j=52;j+)/循環(huán),基數(shù)倍數(shù)條件判斷。if(j%i=0)dataj-1=dataj-1*Flag;/將翻轉(zhuǎn)后的結(jié)果更新data中的數(shù)據(jù)。flagj-1+;/翻牌一次,即記入flag數(shù)組中。doprintf(tn);printf(tn);printf(t 歡送進入紙牌游戲 n);printf(t 1.查看題目 n);printf(t 2.查看所有紙牌的翻牌次

35、數(shù) n);printf(t 3.查看指定編號紙牌翻牌記錄 n);printf(t 4.查看最終正面向上的紙牌編號 n);printf(t 5.制作人信息 n);printf(t 0.按0鍵完畢 n);printf(tn);printf(tn);printf(請輸入您的選擇數(shù)字0-5:);/主界面scanf(%d,&choice);switch(choice)/通過switch語句進展功能的選擇case 1:printf(題目n);printf(*n);printf(編號為1-52牌,正面向上,從第2開場,以2為基數(shù),是2的倍數(shù)的牌翻一次,);printf(直到最后一牌;然后,從第3開場,以3為

36、基數(shù),是3的倍數(shù)的牌翻一次,);printf(直到最后一牌;直到以52為基數(shù)的翻過,輸出:這時輸出正面向上的牌有哪些?n);printf(*);printf(n);printf(n);printf(是否回到主菜單?(Y/N):);/在每個獨立功能后添加了獨立的判斷語句,從而可以選擇性的回到主菜單。n=getchar();n=getchar();if(n=Y)break;else if(n=N)choice=0;/0作為整個界面的循環(huán)完畢條件,所以直接將choice=0,即可完畢循環(huán)。else printf(*(提示:輸入錯誤,默認為繼續(xù)。)*n); break;case 2:printf(以下為翻牌記錄:n);printf(

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論