




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、沈陽航空航天大學(xué)課 程 設(shè) 計(jì) 報(bào) 告課程設(shè)計(jì)名稱:C語言課程設(shè)計(jì)課程設(shè)計(jì)題目:填數(shù)值游戲程序院(系):計(jì)算機(jī)學(xué)院專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí):04010102學(xué) 號(hào):2010040101044姓 名:劉倩指導(dǎo)教師:盧秉亮完成日期:2011年03月18日沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告 目 錄 目 錄第1章 需求分析31.1 輸入的形式和輸入值的范圍31.2 輸出的形式31.3 程序?qū)崿F(xiàn)的功能3第2章 概要設(shè)計(jì)42.1 主要數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型的定義描述42.1.1 主要數(shù)據(jù)結(jié)構(gòu)42.1.2 主要數(shù)據(jù)類型的定義描述42.2主要算法思想和算法描述42.2.1 主要算法思想42.2.2 主要算法描述4
2、2.2.3 程序模塊之間的層次和調(diào)用關(guān)系5第3章 詳細(xì)設(shè)計(jì)63.1 實(shí)現(xiàn)概要設(shè)計(jì)中定義的所有數(shù)據(jù)類型63.2 對(duì)主程序和主要模塊的實(shí)現(xiàn)寫出偽碼算法63.3 詳細(xì)定義、說明主要函數(shù)和過程的輸入輸出參數(shù)和功能93.4 程序的流程圖9第4章 調(diào)試分析114.1 調(diào)試過程中遇到的問題及解決辦法114.2 改進(jìn)設(shè)想114.3 經(jīng)驗(yàn)和體會(huì)11第5章 用戶使用說明12第6章 測(cè)試結(jié)果13參考文獻(xiàn)15附 錄(程序清單)161沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告 第1章 需求分析第1章 需求分析1.1 輸入的形式和輸入值的范圍輸入數(shù)據(jù)類型為整型,將一批整型數(shù)據(jù)輸入到一維數(shù)組中。輸入值的范圍是110之間的整數(shù),采取逐個(gè)輸
3、入的形式進(jìn)行輸入。1.2 輸出的形式輸出數(shù)據(jù)類型為整型,采用雙重for循環(huán)將按要求排列后所得到的二維數(shù)組輸出。1.3 程序?qū)崿F(xiàn)的功能 可以對(duì)給定的一個(gè)含有110十個(gè)整數(shù)的一維數(shù)組,從中選擇某9個(gè)填到一個(gè)3*3方格中,并且要求滿足方格中所有相鄰的兩個(gè)整數(shù)之和是素?cái)?shù)。能夠?qū)M足條件的二維數(shù)組輸出。 2沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告 第2章 概要設(shè)計(jì)第2章 概要設(shè)計(jì)2.1 主要數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型的定義描述2.1.1主要數(shù)據(jù)結(jié)構(gòu) 數(shù)組是本程序用到的數(shù)據(jù)結(jié)構(gòu)。2.1.2主要數(shù)據(jù)類型的定義描述本程序用到的數(shù)組類型是一維數(shù)組和二維數(shù)組,用到的基本數(shù)據(jù)類型是整型。定義了四個(gè)整型的循環(huán)變量i,j,p,m進(jìn)行循環(huán)控
4、制,定義變量sum用于累加。2.2主要算法思想和算法描述2.2.1主要算法思想利用循環(huán)將110十個(gè)整數(shù)中的某9個(gè)整數(shù)按規(guī)律逐個(gè)填入到3*3方格中,直至將方格填滿,并使其滿足所有相鄰的兩個(gè)整數(shù)之和為素?cái)?shù)。2.2.2主要算法描述定義判斷素?cái)?shù)的子函數(shù)isprime,在主函數(shù)中利用循環(huán)將二維數(shù)組bij初始化,即將bij賦值為0,然后將a0賦予b11,將該位置的0覆蓋,然后以a0為中心,按要求選填剩余9個(gè)數(shù)中的4個(gè),首先利用循環(huán)語句將與a0相加是素?cái)?shù)的整數(shù)選出,并置于另一個(gè)已經(jīng)定義的一維數(shù)組d10中,然后再利用循環(huán)將一維數(shù)組d10中的整數(shù)賦予二維數(shù)組中的奇數(shù)位。之后利用循環(huán)從剩余的5個(gè)整數(shù)中選出可以滿足
5、條件的4個(gè)整數(shù),然后按要求填入到剩余方格中將初始值0覆蓋。最后將滿足要求的二維數(shù)組輸出。3沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告 第2章 概要設(shè)計(jì)2.2.3程序模塊之間的層次和調(diào)用關(guān)系 程序模塊之間的層次和調(diào)用關(guān)系如圖2.1所示。圖2.1程序模塊之間的層次和調(diào)用關(guān)系4沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告 第3章 詳細(xì)設(shè)計(jì)第3章 詳細(xì)設(shè)計(jì)3.1 實(shí)現(xiàn)概要設(shè)計(jì)中定義的所有數(shù)據(jù)類型概要設(shè)計(jì)中定義的所有數(shù)據(jù)類型有:整型數(shù)組:a10, d10, b33 整型變量:i ,j ,m ,p, sum3.2 對(duì)主程序和主要模塊的實(shí)現(xiàn)寫出偽碼算法函數(shù)isprime ( 定義未知整型變量m ) 定義循環(huán)變量i; if(m=1或者m為
6、偶數(shù)) 返回 0; if(m=2) 返回 1; for(i=3;i*im;m+) if(m%i=0) 返回 0; 否則 返回 1; 主函數(shù)main() 定義整型變量 i,j,m,p,h; for(i=0;i3;i+) for(j=0;j3;j+) 將二維數(shù)組bij初始化 bij=0; for(m=0;m3;m+)5沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告 第3章 詳細(xì)設(shè)計(jì) 輸入110十個(gè)整數(shù)am; b11=a0; 調(diào)用函數(shù)isprime; if(isprime(a0+am) 將與a0相加是素?cái)?shù)的整數(shù)賦予dp;p=am;am=0;p+; if(i+j)%2!=0) 將dp中的整數(shù)賦予bij; bij=dp;
7、 排除不滿足條件的整數(shù); for(m=0;m3;m+) if(am%2=0) am=0; while(am!=0&bij=0) for(i=0;i3;i+) for(j=0;j3;j+) bij=am;m+; h=b20; b20=b22; b22=h;6for(i=0;i3;i+) for(j=0;j3;j+) 輸出結(jié)果 ; 結(jié)束程序73.3詳細(xì)定義、說明主要函數(shù)和過程的輸入輸出參數(shù)和功能 主函數(shù)中利用for循環(huán)語句實(shí)現(xiàn)了數(shù)組值的輸入,并按要求選填110十個(gè)整數(shù)的9個(gè)。自定義函數(shù)的功能是判斷一個(gè)整數(shù)是否為素?cái)?shù)。3.4程序的流程圖主函數(shù)流程圖如圖2.2所示圖2.2主函數(shù)8判斷素?cái)?shù)子函數(shù)流程圖如
8、圖2.3所示。圖2.3判斷素?cái)?shù)子函數(shù)流程圖9沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告 第4章 調(diào)試分析第4章 調(diào)試分析4.1 調(diào)試過程中遇到的問題及解決辦法調(diào)試過程中遇到了一些問題:1.在不該加分號(hào)的地方加分號(hào),例如:在if條件句的后面加了分號(hào)。2.該用復(fù)合語句是忘記寫花括號(hào)。3.定義空間不夠,出現(xiàn)數(shù)組越界操作。4.在定義子函數(shù)時(shí),在主函數(shù)內(nèi)部定義函數(shù)。5.變量未定義就使用。6.函數(shù)調(diào)用時(shí)實(shí)參個(gè)數(shù)多于形參個(gè)數(shù)。解決方法:通過編譯后的錯(cuò)誤提示找出錯(cuò)誤并改正。4.2 改進(jìn)設(shè)想編譯的時(shí)檢查到語法錯(cuò)誤,進(jìn)行修改。利用單步跟蹤,找出出現(xiàn)邏輯錯(cuò)誤的部分,進(jìn)行修改。4.3經(jīng)驗(yàn)和體會(huì)1.在調(diào)用函數(shù)時(shí),一定要保證實(shí)參個(gè)數(shù)和
9、形參個(gè)數(shù)相同。2 2.在給數(shù)組申請(qǐng)空間時(shí),盡量多申請(qǐng)些,防止出現(xiàn)越界現(xiàn)象。 3.在使用復(fù)合語句時(shí)一定不要忘記使用。 4.在if條件句的后面不能加了分號(hào),以防止其成為空語句 。 5.在使用變量是要保證前面已經(jīng)定義。10沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告 第5章 用戶使用說明第5章 用戶使用說明1、 運(yùn)行VC+程序。2.、在運(yùn)行界面下按要求輸入110十個(gè)整數(shù),存入到一個(gè)一維數(shù)組中,每輸入一個(gè)數(shù)據(jù)后按空格再輸入下一個(gè)數(shù)據(jù)。3、當(dāng)10個(gè)數(shù)據(jù)都輸入結(jié)束后按回車鍵,數(shù)據(jù)輸入結(jié)束。4、運(yùn)行界面上會(huì)顯示出運(yùn)行結(jié)果。 5、按任意鍵,程序結(jié)束。11沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告 第6章 測(cè)試結(jié)果第6章 測(cè)試結(jié)果Pleas
10、e input the data :110輸入待填入3*3方格的數(shù)據(jù):1,2,3,4,5,6,7,8,9,10將110十個(gè)整數(shù)填入方格的中間過程:1 二維數(shù)組b33初始化,賦值為0. 即bij=0; 即b33=0,0,0,0,0,0,0,0,0;2. 利用循環(huán)賦值:a10=1,2,3,4,5,6,7,8,9,10;3. b11=a0; a0=0;標(biāo)示a0已經(jīng)被填入方格;4 b11=1;5. b33= 0,0,0,1,0,0,0,0,06. 利用循環(huán)將與a0相加是素?cái)?shù)的整數(shù)am賦值于d10,d10=2,4,6,10;am=0;7. a10=0,0,3,0,5,0,7,8,9,08. 利用循環(huán)找
11、i 與 j相加是奇數(shù)的方格位置即:b01,b10,b12,b21;9. 利用循環(huán)將d10中的整數(shù)賦予 b01,b10,b12,b21;10. b33=0,2,0,4,1,6,0,10,0; 11. 利用循環(huán)在剩余的5個(gè)數(shù)中找出與b01,b10,b12,b21;相加均不為素?cái)?shù)的整數(shù),賦值為0;表示該數(shù)不可選填,即a7=0;12. a10=0,0,3,0,5,0,7,0,9,013. 在條件am!=0的情況下,利用循環(huán)將滿足b00位置的整數(shù)選填,并使am=0;14 a10=0,0,0,0,5,0,7,0,9,015 b33=3,2,0,4,1,6,0,10,0;16 在條件am!=0的情況下,將利
12、用循環(huán)將滿足b02位置的整數(shù)選填,并使am=0;17 a10=0,0,0,0,0,0,7,0,9,01218 b33=3,2,5,4,1,6,0,10,0;19 在條件am!=0的情況下,將利用循環(huán)將滿足b20位置的整數(shù)選填,并使am=0;20 a10=0,0,0,0,0,0,7,0,9,021 b33=3,2,5,4,1,6,7,10,0;22 在條件am!=0的情況下,將剩余的唯一整數(shù)填入b22的位置23 b22=9,24 b33=0,2,0,4,1,6,7,10,9;25 不合理26 定義中間變量h,將b22和b22位置的整數(shù)調(diào)換27 h=b22; b22=b20 ; b20=h 28
13、b33=3,2,5,4,1,6,9,10,7;29 利用循環(huán)(i=0;i3;i+)30 換行31 利用循環(huán)(j=0;j3;j+)32 輸出結(jié)果:33 3 2 5 34 4 1 635 9 10 736 Press any key to continue13沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告 參考文獻(xiàn)參考文獻(xiàn)1 譚浩強(qiáng)主編,卜家岐,范燮昌編著. C語言程序設(shè)計(jì)M. 北京:高等教育出版社,20062 張磊. C語言程序設(shè)計(jì)M. 京:高等教育出版社,20053 張長海. C語言程序設(shè)計(jì)M.北京:高等教育出版社 20064 譚浩強(qiáng). C語言程序設(shè)計(jì)(第三版)M.北京:清華大學(xué)出版社 2006 14沈陽航空航
14、天大學(xué)課程設(shè)計(jì)報(bào)告 附 錄附 錄(程序清單)# includeint isprime(int m) /判斷是否為素?cái)?shù) int i;if(m=1|m%2=0)return 0;if(m=2)return 1;for(i=3;i*i=m;i+=2)if(m%i=0)return 0;return 1;void main() int i,j,m,p=0,k=0;int sum=0;int d10,a10,b33; for(i=0;i3;i+) for(j=0;j3;j+) bij=0; /數(shù)組初始化 printf(please input the data n); /提示輸入數(shù)據(jù) for(m=0;m
15、10;m+) scanf(%d,&am);/存放數(shù)據(jù) b11=a0; for(m=1;m10;m+)if(isprime(a0+am) /判斷與a0相加是否為素?cái)?shù)dp=am;/存放與其相加為素?cái)?shù)的數(shù)am=0; p+;sum+;/計(jì)算與a0相加為素?cái)?shù)的個(gè)數(shù) /if(isprime) p=0; while(psum)15for(i=0;i3;i+)for(j=0;j3;j+)if(i+j)%2!=0)bij=dp;p+; for(m=1;m10;m+) if(am%2=0) am=0; for(m=1;m10;m+) if(am!=0) for(i=0;i3;i+) for(j=0;j3;j+)
16、if(i+j)%2=0)&(i*j!=1)bij=am; if(!isprime(b00+b01) &(!isprime(b00+b10); if(!isprime(b02+b01) & (!isprime(b02+b12); if(!isprime(b20+b21) & (!isprime(b20+b10); if(!isprime(b22+b21) & (!isprime(b22+b12); m+; for(i=0;i3;i+) for(j=0;j3;j+) printf(%3d,bij); printf(n); 16沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)總結(jié):這次課程設(shè)計(jì)總共用了兩周的時(shí)間,通過這次課程設(shè)計(jì)我感到自己學(xué)到了很多知識(shí)。不僅鞏固了自己在課堂上學(xué)的東西,而且收獲很多在過去半年中沒學(xué)過知識(shí),自己對(duì)于C語言了解也加深了。在這次課程設(shè)計(jì)中,對(duì)自定義函數(shù)的運(yùn)用有了很深的了解,對(duì)for循環(huán)的運(yùn)用也變得順暢,我的程序題目是字?jǐn)?shù)最少的,但自我感覺卻是最難做的!在這兩周中我進(jìn)了很多次圖書館,看了很多與專業(yè)相關(guān)的書籍,它們幫助我很多很多。我的程序題目很難,按照最初的設(shè)計(jì)思想,最佳的方法應(yīng)該是運(yùn)用回溯法,考慮到大一學(xué)生專業(yè)科目知識(shí)的欠缺,老師給我的題目降低了難度。雖然降低了難度,相比來說,仍然挺難。 正是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第五章 第四節(jié) 二 溫帶氣候類型 寒帶氣候和高原山地氣候教學(xué)設(shè)計(jì)-2024-2025學(xué)年湘教版初中地理七年級(jí)上冊(cè)
- 2025年粉體食品物料殺菌設(shè)備項(xiàng)目建議書
- 第二單元《散步》莫懷戚教學(xué)設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版語文七年級(jí)上冊(cè)標(biāo)簽標(biāo)題
- 第5課《黃河頌》教學(xué)設(shè)計(jì)2023-2024學(xué)年統(tǒng)編版語文七年級(jí)下冊(cè)
- 第二章 問題研究 從市中心到郊區(qū)你選擇住在哪里-教學(xué)設(shè)計(jì) 2023-2024學(xué)年高一下學(xué)期地理人教版(2019)必修第二冊(cè)
- 2025年廣西國際商務(wù)職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測(cè)試題庫審定版
- 2025年無機(jī)礦物填充塑料合作協(xié)議書
- 遼寧省朝陽市建平縣2023-2024學(xué)年高三上學(xué)期1月期末考試地理試題(解析版)
- 第六課 實(shí)現(xiàn)人生的價(jià)值 教學(xué)設(shè)計(jì)-2023-2024學(xué)年高中政治統(tǒng)編版必修四哲學(xué)與文化
- 部編版一年級(jí)上冊(cè)語文全冊(cè)專項(xiàng)訓(xùn)練
- 安捷倫N9020A頻譜儀操作說明
- 食品化學(xué)課件 ②食品化學(xué)緒論
- 【讀寫策略】回延安朗讀指導(dǎo)
- 孟氏骨折與蓋氏骨折
- FZ/T 24033-2022全成型無縫毛針織服裝
- 我的妹妹-教學(xué)設(shè)計(jì)教案
- GB/T 30512-2014汽車禁用物質(zhì)要求
- 五年級(jí)上冊(cè)語文閱讀理解附答案
- 小學(xué)一年級(jí)硬筆書法入門25839教學(xué)內(nèi)容
- 心理測(cè)量學(xué)(全套教學(xué)課件)
- 高職英語課程說課稿課件
評(píng)論
0/150
提交評(píng)論