C語(yǔ)言課程設(shè)計(jì)報(bào)告01.doc
《C語(yǔ)言課程設(shè)計(jì)報(bào)告01.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語(yǔ)言課程設(shè)計(jì)報(bào)告01.doc(32頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告(學(xué)年 第 學(xué)期) 專 業(yè):班 級(jí):姓名學(xué)號(hào):姓 名:指導(dǎo)教師:成 績(jī): 目 錄一、課程設(shè)計(jì)的目的與要求1二、方案實(shí)現(xiàn)與調(diào)試 12.1 擲骰子游戲12.2 射擊游戲32.3 計(jì)算存款本息之和52.4 肇事逃逸82.5 禮炮102.6 汽車加油122.8大優(yōu)惠132.9 金幣15三、課程設(shè)計(jì)分析與總結(jié)17附錄 程序清單17一、課程設(shè)計(jì)的目的與要求(一)實(shí)驗(yàn)?zāi)康腃語(yǔ)言是一種編程靈活,特色鮮明的程序設(shè)計(jì)語(yǔ)言。C語(yǔ)言除了學(xué)習(xí)必須的基本知識(shí),如概念,方法和語(yǔ)法規(guī)則之外,更重要的是進(jìn)行實(shí)訓(xùn),以提高學(xué)習(xí)者的動(dòng)手和編程能力,這是學(xué)習(xí)語(yǔ)言的最終目的。結(jié)合多年來(lái)的教學(xué)經(jīng)驗(yàn),根據(jù)學(xué)生的學(xué)習(xí)情況,為配合教學(xué)過(guò)程,使“項(xiàng)目教學(xué)法”能在本質(zhì)上促使學(xué)生有更大進(jìn)步,特編寫了該C語(yǔ)言程序設(shè)計(jì)任務(wù)書,以在實(shí)訓(xùn)過(guò)程中給學(xué)生提供幫助。達(dá)到如下目的:1 在課程結(jié)束之前,讓學(xué)生進(jìn)一步了解C程序設(shè)計(jì)語(yǔ)言的編程功能;2 讓學(xué)生扎實(shí)掌握C程序設(shè)計(jì)語(yǔ)言的相關(guān)知識(shí);3 通過(guò)一些有實(shí)際意義的程序設(shè)計(jì),使學(xué)生體會(huì)到學(xué)以致用,并能將程序設(shè)計(jì)的知識(shí)與專業(yè)知識(shí)有效地結(jié)合,更全面系統(tǒng)地了解行業(yè)知識(shí)。(二)設(shè)計(jì)要求根據(jù)實(shí)驗(yàn)內(nèi)容的要求自由選定題目。編寫程序要求遵循如下基本要求:l 模塊化程序設(shè)計(jì)l 鋸齒型書寫格式l 必須上機(jī)調(diào)試通過(guò)(三)課程設(shè)計(jì)報(bào)告(按C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告格式要求完成)1、設(shè)計(jì)目的2、總體設(shè)計(jì)(程序設(shè)計(jì)組成框圖、流程圖)3、詳細(xì)設(shè)計(jì)、模塊功能說(shuō)明(如函數(shù)功能、入口及出口參數(shù)說(shuō)明,函數(shù)調(diào)用關(guān)系描述等)。4、調(diào)試與測(cè)試:調(diào)試方法,測(cè)試結(jié)果的分析與討論,測(cè)試過(guò)程中遇到的主要問題及采取的解決措施。5、源程序清單和執(zhí)行結(jié)果:源程序中應(yīng)有足夠的注釋。(四)、檢查標(biāo)準(zhǔn)1、學(xué)生必須編寫可運(yùn)行的程序,對(duì)教師的提問能熟練地當(dāng)面解釋清楚,回答的問題和程序運(yùn)行的結(jié)果作為評(píng)分的主要衡量標(biāo)準(zhǔn);(課程設(shè)計(jì)當(dāng)周的周三開始逐一檢查)2、按照本文后要求須提交電子內(nèi)容的清單提交相關(guān)內(nèi)容。二、方案實(shí)現(xiàn)與調(diào)試2.1擲骰子游戲(注,此題目用了兩種方法,方法一:一般的main函數(shù)方式;方法二:加入函數(shù)分模塊的方式。代碼見附錄)2.1.1 題目?jī)?nèi)容的描述 兩人玩骰子,游戲規(guī)則如下:1) 兩人輪流擲骰子,每次擲兩個(gè),每人最多擲10次。2) 將每人每次的分值累加計(jì)分3) 當(dāng)兩個(gè)骰子點(diǎn)數(shù)都為6時(shí),計(jì)8分;當(dāng)兩個(gè)點(diǎn)數(shù)相等且不為兩個(gè)6時(shí),計(jì)7分;當(dāng)兩個(gè)點(diǎn)數(shù)不一樣時(shí),計(jì)其中點(diǎn)數(shù)較小的骰子的點(diǎn)數(shù)。4) 結(jié)束條件:當(dāng)雙方都擲10次或經(jīng)過(guò)5次后一方累計(jì)分?jǐn)?shù)多出另一方的30%及以上。最后顯示雙方分?jǐn)?shù)并判定優(yōu)勝者。2.1.2輸入數(shù)據(jù)類型、格式和內(nèi)容限制和輸出數(shù)據(jù)的說(shuō)明 1)數(shù)據(jù)類型:整型;2)內(nèi)容限制:隨機(jī)數(shù)的產(chǎn)生;3)輸出數(shù)據(jù):獲勝一方。2.1.3主要模塊的算法描述 1) 程序流程圖如下:開始第一人擲骰子計(jì)算第一人得分grade1第二人擲骰子計(jì)算第二人得分grade211=i=6一方的成績(jī)的是否大于等于另一方的1.3倍否是獲勝方是否初始化grade1=0,grade2=0,i=1i+結(jié)束2)語(yǔ)言描述如下: 此題目主要運(yùn)用了循環(huán)語(yǔ)句。首先用隨機(jī)數(shù)產(chǎn)生器產(chǎn)生產(chǎn)生玩家投骰子的點(diǎn)數(shù);接下來(lái)根據(jù)點(diǎn)數(shù)計(jì)算玩家的分;接下來(lái)判斷投擲的次數(shù)是否達(dá)到5次是的話比較一方的累計(jì)分?jǐn)?shù)是不是在另一方的1.3倍以上,是的話則勝利,否的話繼續(xù)投擲!2.1.4調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果1)調(diào)試過(guò)程遇到的問題與解決方案:沒能正確理解“當(dāng)雙方都擲10次或經(jīng)過(guò)5次后一方累計(jì)分?jǐn)?shù)多出另一方的30%及以上”這句話的意思,以為是滿五或者滿十的時(shí)候帶累計(jì)總分一次然后比較分?jǐn)?shù),確定獲勝方!所以將“if(i=6)”z這個(gè)語(yǔ)句寫成了“if(i=6)”,在后來(lái)的調(diào)試過(guò)程中發(fā)現(xiàn),及時(shí)改正了!2)實(shí)驗(yàn)結(jié)果如下:2.2射擊游戲2.2.1題目?jī)?nèi)容的描述 在程序運(yùn)行時(shí)屏幕上方第一行隨機(jī)出現(xiàn)一個(gè) 符號(hào),要求游戲者輸入一個(gè)1-80之間的整數(shù),當(dāng)用戶輸入一個(gè)整數(shù)后,一個(gè)*立即從屏幕底端的該整數(shù)列向上移動(dòng),若移動(dòng)到屏幕的頂端能撞上 符號(hào),則游戲者獲勝;若沒有撞上,則要求再輸入一個(gè)整數(shù),共允許輸入5次,如果一直沒有撞上,則認(rèn)為游戲者輸。 提示: 1)輸入 符號(hào)可以采用printf(%c,1) 2)顯示*號(hào)向上移動(dòng):輸出一些空行;輸出*號(hào);以循環(huán)的方式增加延時(shí)(for(i=0;i100000;i+););clrscr()清屏重新繪制*號(hào)。2.2.2輸入數(shù)據(jù)類型、格式和內(nèi)容限制和輸出數(shù)據(jù)的說(shuō)明 1)數(shù)據(jù)類型:整型、長(zhǎng)整型;2)內(nèi)容限制:鍵入數(shù)字3)輸出數(shù)據(jù):挑戰(zhàn)成功還是失敗獲勝一方;4)System(“cls”),清屏。2.2.3主要模塊的算法描述 1)程序流程圖 開始隨機(jī)產(chǎn)生數(shù),而后令笑臉置頂k玩家鍵入數(shù)字l,i=1k=l i=i+1i=5玩家獲勝玩家失敗是否否是結(jié)束2)簡(jiǎn)單的語(yǔ)言描述:清屏;然后循環(huán)每行輸出*;依次循環(huán),判斷是否擊中目標(biāo);5次輸入結(jié)束,或者擊中目標(biāo)結(jié)束。2.2.4調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果1)調(diào)試過(guò)程遇到的問題與解決方案: 在首次寫完代碼之后,運(yùn)行發(fā)現(xiàn)無(wú)法將 圖形置于屏幕第一行,之后查閱資料發(fā)現(xiàn)是代碼控制不夠完整,而后添加代碼修改成功!2)實(shí)驗(yàn)結(jié)果如下:2.3計(jì)算存款本息之和2.3.1 題目?jī)?nèi)容的描述 以“存款利率”為關(guān)鍵字上網(wǎng)搜索目前我國(guó)整存整取不同期限我國(guó)的銀行存款利率,只計(jì)算一年、三年和五年三種期限。 問題: (1) 要求輸入存錢的本金和期限,求到期能從銀行得到的利息與本金合計(jì)。 (2)假設(shè)存款期限為三十年本金為10萬(wàn),比較一年、三年和五年滾存三十年后的本息金額。2.3.2輸入數(shù)據(jù)類型、格式和內(nèi)容限制和輸出數(shù)據(jù)的說(shuō)明 1)數(shù)據(jù)類型:長(zhǎng)整型;2)內(nèi)容限制:鍵入本金與年限;3)輸出數(shù)據(jù):本息和PI 2.3.3主要模塊的算法描述 (1)1)程序流程圖如下: 開始輸入本金m,存款年限n,定義本息和PIi=1i=3i=5PI=m*(1+0.0325*1);PI=m*(1+0.0425*3);PI=m*(1+0.0475*5);是否是否是years error!輸出結(jié)果PI否結(jié)束2)語(yǔ)言描述如下:輸入限定之內(nèi)的年份與存款金額,選擇對(duì)應(yīng)的年利率計(jì)算本息和。 (2) 1) 程序流程圖如下 開始m=100000,n,i,sum1,sum2,sum3sum1=m*(1+0.0325*1); m=sum1;i=1i=3i=5i=30i=30isum1&sum2sum3否否否是否否結(jié)束2)語(yǔ)言描述如下: 存款期限為三十年,本金為10萬(wàn),分別計(jì)算一年、三年和五年滾存三十年后的本息金額,然后進(jìn)行比較,輸出分別輸出一年、三年和五年滾存三十年后的本息金額和最大的本息額。2.3.4調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果1)調(diào)試過(guò)程遇到的問題與解決方案:(1)在初次編程中,將本金,年份定義成int型,在后來(lái)的測(cè)試過(guò)程中發(fā)現(xiàn)不合適,因?yàn)槟昀视卸鄠€(gè)小數(shù)點(diǎn),最終更正用float定義!(2)在寫代碼時(shí),部分代碼忘記標(biāo)下標(biāo),導(dǎo)致結(jié)果如下,第一次修改時(shí)將float改成double未能成功,而后檢查后運(yùn)行正確!2)實(shí)驗(yàn)結(jié)果如下: (1) (2) 2.4肇事逃逸2.4.1 題目?jī)?nèi)容的描述 某部閩DT的出租車交通肇事逃逸,現(xiàn)場(chǎng)無(wú)人看清后面的四位數(shù)字,但三位目擊群眾提供信息如下:1) 車牌號(hào)后兩位相同; 2) 車牌號(hào)前兩位相同; 3) 車牌號(hào)是一個(gè)整數(shù)的平方。請(qǐng)編程查出肇事逃逸車輛的車牌號(hào)。2.4.2輸入數(shù)據(jù)類型、格式和內(nèi)容限制和輸出數(shù)據(jù)的說(shuō)明 1)數(shù)據(jù)類型:整型;2)內(nèi)容限制:前兩位相同,后兩位相同,整數(shù)的平方;3)輸出數(shù)據(jù):四位整數(shù)2.4.3主要模塊的算法描述 2) 程序流程圖如下:開始i=0, j=0, k=0, l ,i=9, j=9,k=100l=1000*i+100*i+10*j+j;k*k=li=i+1,j=j+1,k=k=1輸出結(jié)果l否是2)語(yǔ)言描述如下: 前兩位,后兩位相同,則前兩位用i表示,后兩位用均表示,用k是100以內(nèi)的兩位整數(shù),l表示這個(gè)四位數(shù),用循環(huán)語(yǔ)句依次判斷結(jié)果適合公式:k*k=l=1000*i+100*i+10*j+j,即為肇事車牌號(hào)!2.4.4調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果1)調(diào)試過(guò)程遇到的問題與解決方案: 書寫代碼時(shí),定義四位車牌號(hào)為l,由于字母l與數(shù)字1比較像,結(jié)果導(dǎo)致混淆,在vc環(huán)境運(yùn)行后,發(fā)現(xiàn)錯(cuò)誤,及時(shí)改正!在以后,將盡量少使用字母l來(lái)定義變量!2)實(shí)驗(yàn)結(jié)果如下: 2.5禮炮2.5.1題目?jī)?nèi)容的描述 鳴放禮炮起源于英國(guó)。據(jù)說(shuō)400多年前英國(guó)海軍用的是火炮。當(dāng)戰(zhàn)艦進(jìn)入友好國(guó)家的港口之前,或在公海上與友好國(guó)家的艦船相遇時(shí),為了表示沒有敵意,便把船上大炮內(nèi)的炮彈統(tǒng)統(tǒng)放掉,對(duì)方的海岸炮艦船也同樣做以表示回報(bào)。這種做法以后就逐漸成為互致敬意的一種禮儀。由于當(dāng)時(shí)最大的戰(zhàn)艦裝有大炮21門,所以鳴炮21響就成了一種最高禮節(jié)。 有四艘戰(zhàn)艦ABCD開始鳴放禮炮各21響,已知A戰(zhàn)艦每隔5秒放一次,B 戰(zhàn)艦每隔6秒放一次, C戰(zhàn)艦每隔7秒放一次, D戰(zhàn)艦每隔8秒放一次.假設(shè)各炮手對(duì)時(shí)間掌握非常準(zhǔn)確,請(qǐng)問觀眾共可以聽到幾次禮炮聲?2.5.2輸入數(shù)據(jù)類型、格式和內(nèi)容限制和輸出數(shù)據(jù)的說(shuō)明1) 數(shù)據(jù)類型:整型;2)內(nèi)容限制:題目依據(jù);3) 用到的主要語(yǔ)句:循環(huán)條件判斷;4)輸出數(shù)據(jù):禮炮聲(整型)。2.5.3系統(tǒng)主要模塊的算法描述 1)程序流程圖如下: 初始化i=1,j=0i=160(i%5=0|i%6=0|i%7=0|i%8=0)&i100&i120 & i140&i=160)輸出j開始結(jié)束是否否否是是是是否i+,j+i+否2) 簡(jiǎn)要的語(yǔ)言描述如下:根據(jù)條件“A戰(zhàn)艦每隔5秒放一次,B 戰(zhàn)艦每隔6秒放一次, C戰(zhàn)艦每隔7秒放一次, D戰(zhàn)艦每隔8秒放一次.”確定可能性!依次判斷,累計(jì)聽到的次數(shù),得出結(jié)果!2.5.4調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果1) 調(diào)試過(guò)程遇到的問題與解決方案: 發(fā)現(xiàn)定義變i是與int之間沒有空格,導(dǎo)致結(jié)果如下,調(diào)試修改正確。 2) 實(shí)驗(yàn)結(jié)果如下: 2.6汽車加油2.6.1題目?jī)?nèi)容的描述 一輛汽車加滿油后可行駛n公里。旅途中有若干個(gè)加油站。設(shè)計(jì)一個(gè)有效算法,指出應(yīng)在哪些加油站??考佑停寡赝炯佑痛螖?shù)最少。輸入:第一行有2 個(gè)正整數(shù)N和K(1 = N = 100,1 = K = 100),表示汽車加滿油后可行駛N公里,且旅途中有K個(gè)加油站。接下來(lái)的1 行中,有K+1 個(gè)整數(shù),表示第K個(gè)加油站與第K-1 個(gè)加油站之間的距離。第0 個(gè)加油站表示出發(fā)地,汽車已加滿油。第K+1 個(gè)整數(shù)表示第K個(gè)加油站與目的地的距離。輸出:將編程計(jì)算出的最少加油次數(shù)輸出。如果無(wú)法到達(dá)目的地,則輸出 No Solution。(注意:No和Solution之間有一個(gè)空格)。例如:輸入:8 83 2 3 6 5 4 2 7 2輸出:52.6.2輸入數(shù)據(jù)類型、格式和內(nèi)容限制和輸出數(shù)據(jù)的說(shuō)明3) 數(shù)據(jù)類型:數(shù)組類型;2)內(nèi)容限制:鍵入數(shù)據(jù):4) 用到的主要語(yǔ)句:循環(huán)條件判斷;4)輸出數(shù)據(jù):加油次數(shù)(整型)。2.6.3系統(tǒng)主要模塊的算法描述 1)簡(jiǎn)要的語(yǔ)言描述 按題目要求輸入數(shù)據(jù);首先判斷可行駛的路程是否足夠汽車到達(dá)加油站;如果不能到達(dá),則需要加油,在此處記錄一次并循環(huán);得出累計(jì)加油次數(shù)之和算得出結(jié)果。2.6.4調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果1)實(shí)驗(yàn)結(jié)果如下: 2.8大優(yōu)惠2.8.1 題目?jī)?nèi)容的描述 中國(guó)移動(dòng)推出最新的手機(jī)資費(fèi)優(yōu)惠方案,按照這個(gè)方案Tom的手機(jī)每天消費(fèi)1元,每消費(fèi)K元就可以獲贈(zèng)1元,一開始Tom有M元,問最多可以用多少天?輸入的測(cè)試數(shù)據(jù)為一行,實(shí)例包括2個(gè)整數(shù)M, K(2 = K = M = 1000)。輸出一個(gè)整數(shù),表示M元可以用的天數(shù)。2.8.2輸入數(shù)據(jù)類型、格式和內(nèi)容限制和輸出數(shù)據(jù)的說(shuō)明 1)數(shù)據(jù)類型:整型;2)內(nèi)容限制:鍵入數(shù)字M、K;3)輸出數(shù)據(jù):可以使用的天數(shù)。 2.8.3主要模塊的算法描述 1) 程序流程圖如下: 開始M0i%K=0i+,M=M-1;M=M+1可用天數(shù)i是否是結(jié)束K,M,i=0,2 = K = M K的,與事實(shí)不相符合,在后來(lái)的檢查調(diào)試過(guò)程中,加入了限定的條件!2)實(shí)驗(yàn)結(jié)果如下: 2.9擲骰子游戲2.9.1 題目?jī)?nèi)容的描述 國(guó)王用金幣獎(jiǎng)勵(lì)他忠誠(chéng)的侍從。第一天侍從工作結(jié)束后,國(guó)王獎(jiǎng)勵(lì)了他一個(gè)金幣;接著的兩天侍從工作中(第二天,第三天)的每一天,國(guó)王獎(jiǎng)勵(lì)了他兩個(gè)金幣;接著的三天侍從工作中(第四天,第五天,第六天)的每一天,國(guó)王獎(jiǎng)勵(lì)了他三個(gè)金幣;接著的四天侍從工作中(第七天,第八天,第九天,第十天)的每一天,國(guó)王獎(jiǎng)勵(lì)了他四個(gè)金幣。這種獎(jiǎng)勵(lì)的模式將是固定不變的,即在N天侍從工作中的每一天,國(guó)王將獎(jiǎng)勵(lì)他N個(gè)金幣;接著的N+1天的侍從工作中的每一天,國(guó)王將獎(jiǎng)勵(lì)他N+1個(gè)金幣。要求在給定的天數(shù)時(shí),你的程序能夠統(tǒng)計(jì)國(guó)王總共獎(jiǎng)勵(lì)了侍從多少金幣。2.9.2輸入數(shù)據(jù)類型、格式和內(nèi)容限制和輸出數(shù)據(jù)的說(shuō)明 1)數(shù)據(jù)類型:整型;2)內(nèi)容限制:鍵入天數(shù);3)輸出數(shù)據(jù):整型輸出金幣個(gè)數(shù)。2.9.3主要模塊的算法描述 3) 程序流程圖如下: 開始i=1,sum=0sum=0輸入天數(shù)j, j!=0j=isum=sum+i*i,j=j-i;sum=sum+j*i,j=0;輸出金幣數(shù)sum結(jié)束是否i+2)語(yǔ)言描述如下: 了解題意之后得出,主要的數(shù)據(jù)間的關(guān)系為算法為sum=sum+i*i,j=j-i,通過(guò)判斷j,之間的關(guān)系終止進(jìn)行總求和輸出結(jié)果。2.9.4調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果1)調(diào)試過(guò)程遇到的問題與解決方案:在寫思考是忘記天數(shù)不能為零,再后來(lái)的寫代碼是也沒有注意,后來(lái)發(fā)現(xiàn)不符合實(shí)際,添加代碼“j!=0”,修改成功!2) 實(shí)驗(yàn)結(jié)果如下: 二、 課程設(shè)計(jì)分析與總結(jié) 由于上學(xué)期在語(yǔ)言的學(xué)習(xí)方面沒有足夠的重視,因此,基礎(chǔ)功不是很扎實(shí),在這次課程設(shè)計(jì)中顯得特別吃力,不過(guò)最終還是基本完成了此次課程設(shè)計(jì)的內(nèi)容。 在各個(gè)實(shí)驗(yàn)中解決問題的基本流程是:分析問題分析解決問題的基本流程選擇合適的算法語(yǔ)句書寫程序調(diào)試修改按要求書寫實(shí)驗(yàn)報(bào)告。在這些過(guò)程中,我認(rèn)為分析問題的解決流程最為重要,分析好解決流程之后,就可以清楚的知道自己這一步要干什么,下一步要干什么,思路就顯得十分清楚,按照這個(gè)流程解決問題是我感覺做得好的一面。不過(guò)也有很多不足,例如:好久沒碰C語(yǔ)言了,for語(yǔ)句,while語(yǔ)句的基本功能都模糊了,在選擇運(yùn)用時(shí)還要在課本、網(wǎng)絡(luò)上熟悉這些內(nèi)容,還有一點(diǎn)就是自己對(duì)函數(shù)、模塊化的思想掌握不夠,按照實(shí)驗(yàn)要求需運(yùn)用模塊化的方式來(lái)解決問題,自己卻很少使用這種思想,這就是實(shí)驗(yàn)中的不足之處。總而言之,通過(guò)這次5天的課程設(shè)計(jì)我進(jìn)一步了解C程序設(shè)計(jì)語(yǔ)言的編程功能,握C程序設(shè)計(jì)語(yǔ)言的相關(guān)知識(shí),體會(huì)到學(xué)以致用,并能將程序設(shè)計(jì)的知識(shí)與專業(yè)知識(shí)有效地結(jié)合,更全面系統(tǒng)地了解行業(yè)知識(shí)。眾多不足之處我會(huì)在大二上學(xué)期重修高級(jí)語(yǔ)言程序設(shè)計(jì)時(shí)進(jìn)一步加固,力爭(zhēng)將這門基礎(chǔ)課真正的學(xué)好、用好,擺正思想,為以后的專業(yè)課的學(xué)習(xí)大好基礎(chǔ)!最后感謝謝老師的一而再再而三的嚴(yán)格要求及耐心指導(dǎo),感謝感謝同學(xué)們的幫助,謝謝你們!附錄:源程序清單(保存在code-.cpp)2.1擲骰子游戲:擲骰子游戲方法一.cpp#include #include #include void main() int i,j,k,l,m,n,grade1=0,grade2=0; srand( (unsigned)time( NULL ) ); /生成隨機(jī)數(shù)產(chǎn)生器 for(i=1; i11; i+) for(l=1;lj)grade1=grade1+j; elsegrade1=grade1+k; printf(第二個(gè)人第%d次投出的數(shù)n,i); n=rand()%6+1; printf(%dn,n); /rand()產(chǎn)生隨機(jī)數(shù) m=rand()%6+1; printf(%dn,m); if(m=6|n=6) grade2=grade2+8; if(m=n=5|m=n=4|m=n=3|m=n=2|m=n=1) grade2=grade2+7; else if(mn) grade2=grade2+n; else grade2=grade2+m; if(i=6) if(grade1=1.3*grade2|grade2=1.3*grade1) i=10; printf(第一個(gè)人累計(jì)分?jǐn)?shù)%dn,grade1); printf(第二個(gè)人累計(jì)分?jǐn)?shù)%dn,grade2); if(grade1grade2) printf(第一個(gè)人獲勝); if(grade2grade1)printf(第二個(gè)人獲勝);擲骰子游戲方法二.cpp#include #include #include int a(int j,int k)int x=0;if(j=k&j=6) x=8; else x=7; if(jk) x=j; else x=k; return x;int b(int m,int n)int y=0;if(m=n&m=6) y=8;else y=7; if(mn) y=m; else y=n; return y;void main() int i=1,j,k,m,n,e,f,grade1=0,grade2=0; srand( (unsigned)time( NULL ) ); while (i=6&(grade1=1.3*grade2|grade2=1.3*grade1) break; printf(n 第一個(gè)人的總成績(jī)?yōu)?d,grade1); printf(n第二個(gè)人總成績(jī)?yōu)?dnn,grade2); if(grade1grade2) printf(第一個(gè)人獲勝); if(grade2grade1)printf(第二個(gè)人獲勝);2.2射擊游戲:射擊游戲.cpp#include#include#includevoid main() int i,j,k,l,m; long int n; srand(unsigned)time(NULL); /生成隨機(jī)數(shù)產(chǎn)生器 k=rand()%80+1; for(i=0;ik;i+) printf( ); printf(%cn,1); for(m=0;m0;j-) system(cls); for(i=0;i80;i+) if(i=k) printf(%c,1); else printf( ); for(i=1;ij;i+) printf(n); for(n=0;n80;n+) if(n=l) printf(*); else printf( ); for(n=0;n100000;n+); if(l=k) printf(恭喜你獲勝,賞金封侯!n); break; if(m=4) printf(你竟然吃了敗仗,當(dāng)滅九族!n); 2.3計(jì)算存款本息之和:(1) 計(jì)算存款本息之和(1).cpp #includevoid main() float m,n,PI=0;/定義 m存款本金,n存款年限, printf(Please input the principal:); scanf(%f,&m); printf(Please input the years:); scanf(%f,&n); if(n=1) PI=m*(1+0.0325*1); else if(n=3) PI=m*(1+0.0425*3); else if(m=5) PI=m*(1+0.0475*5); else printf(years error!n); printf(The PI are:%fn,PI);(2) 計(jì)算存款本息之和(2).cpp #includevoid main()float m=100000,n,sum1,sum2,sum3;int i;for(i=1;i=30;i+) n=1; sum1=m*(1+0.0325*1); m=sum1; for(i=3;i=30;i+=3) n=3; sum2=m*(1+0.0425*3); m=sum2; for(i=5;isum2&sum1sum3)printf(一年滾存三十年的本息額最多:%fn,sum1);else if(sum2sum1&sum2sum3)printf(二年滾存三十年的本息額最多:%fn,sum2); elseprintf(三年滾存三十年的本息額最多:%fn,sum3);2.4肇事逃逸:肇事逃逸.cpp#includevoid main() int i,j,k,l;/i前兩位數(shù),j代表后兩位數(shù),k代表100以內(nèi)任意整數(shù) for(i=0;i=9;i+) for(j=0;j=9;j+) if(i!=j) for(k=0;k=100;k+) l=1000*i+100*i+10*j+j; if(k*k=l) printf(肇事逃逸車輛的車牌號(hào)為:%dn,l); 2.5汽車加油:禮炮.cpp #include void main () int i,j=0; for(i=1;i=160;i+) if( (i%5=0|i%6=0|i%7 =0|i%8=0)&i100&i120 & i140&i=160) j+; printf (j=%dn, j); 2.6汽車加油:汽車加油.cpp#include void main()int K,N,i,j,l999,x=0,y=0; /*i表示第幾個(gè)加油站;j為第K個(gè)加油站與第K-1個(gè)加油站直接的距離;x表示總距離;*/printf(輸入:);scanf(%d%d,&N,&K);for(i=0;i=K;i+)scanf(%d,&j);li=j;for(i=0;i=K;i+)if(Nli) printf(No Solution.n);break; elsex=x+li; if(Nx)y+; x=li;if(i=K)printf(輸出:%dn,y);2.8大優(yōu)惠:大優(yōu)惠.cpp#includevoid main()int K,M,i=0;printf(Please input K and M n(注意:2 = K = M = 1000,且K與M之間用空格隔開)n);scanf(%d%d,&K,&M); if(2 = K = M 0)i+; M=M-1;if(i%K=0) M=M+1;printf(可用天數(shù)%dn,i);elseprintf(Input is error);2.9擲骰子游戲:金幣.cpp#includevoid main()int i,j;int sum=0;printf(Please input daysn);scanf(%d,&j);for(i=1;j!=0;i+)if(j=i)sum=sum+i*i,j=j-i;elsesum=sum+j*i,j=0;printf(國(guó)王共獎(jiǎng)勵(lì)了侍從%d金幣n,sum);設(shè)計(jì)日志2013-6-24上午:c語(yǔ)言忘了大半,首先在網(wǎng)絡(luò)上復(fù)習(xí)了一下c語(yǔ)言的有關(guān)內(nèi)容;2.1的這一題只是畫出了流程圖,大體代碼書寫完成,沒有完成實(shí)驗(yàn)報(bào)告內(nèi)容。2013-6-24下午:完成了2.1,2.2的設(shè)計(jì)報(bào)告內(nèi)容;畫出了2.3的流程圖。2013-6-25上午:根據(jù)老師所講,修善了前面幾道題的流程圖。書寫完成2.3的程序代碼! 2013-6-25下午:徹底完成2.3,修改了前面實(shí)驗(yàn)報(bào)告的相關(guān)格式。2013-6-26上午:集中注意開始做2.4,2.4不是很難,很快就完成了;下來(lái)之后有點(diǎn)心急了,有的同學(xué)都做完了,跳到2.8開始做2.8,由于沒注意題目中K、M的關(guān)系,忙了半天還是做的錯(cuò)的!后來(lái)急了就詢問同桌,便恍然大悟,一口氣做完了2.9。2013-6-26 下午:完成了2.5,初步開始了2.6。2013-6-27上午: 首先用第二種方法模塊化的思想從新做了2.1,沒有徹底做完。2013-6-27下午:繼續(xù)完成第2.1的模塊化做法!完了之后徹底完成了2.6! 大功告成!2013-6-28上午:完成了此次課程設(shè)計(jì)的目錄與分析與總結(jié),最后再次檢查了一下課程設(shè)計(jì)的格式?。ㄗⅲ褐笇?dǎo)教師評(píng)語(yǔ)和成績(jī)所在表格另起一頁(yè))指導(dǎo)教師評(píng) 語(yǔ)課程設(shè)計(jì)成 績(jī)指導(dǎo)教師簽字 年 月 日- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 語(yǔ)言 課程設(shè)計(jì) 報(bào)告 01
鏈接地址:http://m.appdesigncorp.com/p-8876937.html