實驗三迴圈結構程式設計

2022-09-06 20:27:06 字數 2987 閱讀 1753

一、實驗目的

(1) 掌握while、do~while、for語句的使用。

(2) 掌握迴圈體內使用break、continue語句的作用。

(3) 掌握迴圈及巢狀迴圈結構的程式設計方法。

二、實驗準備

1.c語言實現迴圈的方法

① goto 和 if 構成的迴圈:由於goto是無條件轉向,不符合結構化程式設計思想,所以不建議使用。

② while迴圈:實現「當型」迴圈,首先判斷迴圈條件,當條件為真,執行迴圈體,再判斷迴圈條件…… 此種迴圈有可能一次也不執行迴圈體。

③ do~while迴圈:實現「直到型」迴圈,與while迴圈的區別是先執行迴圈體,再判斷迴圈條件,當迴圈條件為真,再執行迴圈體…… 此種迴圈至少執行一次迴圈體。

④ for迴圈:與while迴圈類似,一般用於知道迴圈變數初值、終值及步長值的迴圈。

2.break 和continue 語句

① break 語句: 可用在迴圈體或switch語句中,作用是跳出其所在的控制結構。若是在迴圈體中,則是跳出其所在的迴圈,使得迴圈不止乙個出口。

② continue語句:只能用在迴圈體中,其作用是結束本層本次迴圈,注意不是退出迴圈。

3.閱讀以下程式,並分析其功能,除錯執行程式後再分析其執行結果。

① 掌握三種方法求1到100的累加和。

檔名為 ,內容如下:

# include <>

main()

printf("sum is %d\n",sum);

}檔名為 ,內容如下:

# include <>

main()

檔名為 ,內容如下:

# include <>

main()

② 程式二,程式檔名為 。(掌握遞推演算法(求值))

# include <>

# include <>

void main()

pi=pi*4;

printf("pi= %f\n",pi);

}③ 程式三,程式檔名為 。(掌握迭代演算法(處理fibonacci數列前40項))

# include <>

void main()

}④ 程式四,程式檔名為 。(掌握窮舉演算法(判素數))

# include <>

# include <>

void main()

三、實驗內容( 按要求設計以下程式,並除錯分析執行結果 ,此部分完成在實驗報告上)

(1) 設計程式要求列印小學九九乘法表。

(2) 設計程式要求程式設計計算xn,其中x和n均由鍵盤輸入。

(3) 設計程式已知祖父年齡70歲,長孫20歲,次孫15歲,幼孫5歲,問要過多少年,三個孫子的年齡之和同祖父的年齡相等,試用單重迴圈結構程式設計實現。

(4) 設計程式有一數列:2/1,3/2,5/3,8/5,…求出這個數列的前10項之和。

(5) 設計程式一球從200公尺高度自由落下,每次落地後反跳回原高度的四分之一,再落下。程式設計求它第10次落地時共經過的路程及第10次落地後**的高度。

分析:該題也是進行多次加操作、求最終和的問題。在這裡要定義乙個變數(sum)記錄小球反覆落地總共經歷的高度,還要定義乙個變數(high)表示小球每次**起來的高度。

需要注意的一點是,小球第一次落地時經歷的路程為初始高度,即sum初值為200,在第一次落地後,sum中每次累加的是兩倍的high值(彈起和再落下),這個過程只需再重複九次即可。

正確答案:共經過333.33公尺,第10次**了0.000191公尺

(6) 設計程式 ,要求求出滿足「百位減去十位等於個位」的所有三位整數,並按一行5個數輸出結果。

(7) 設計程式 ,要求從鍵盤上輸入整數m和k,輸出大於且緊靠m的k個素數。

(8) 中國古代數學家張丘建在他的《算經》中提出了著名的「百錢買百雞問題」:雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁、母、雛各幾何?請程式設計解決該問題。

(檔名存為

分析:設雞翁、雞母、雞雛的個數分別為x,y,z,題意給定共100錢要買百雞,若全買公雞最多買20只,顯然x的值在0~20之間;同理,y的取值範圍在0~33之間,可得到下面的不定方程:

5x+3y+z/3=100

x+y+z=100

所以此問題可歸結為求這個不定方程的整數解。由程式設計實現不定方程的求解與手工計算不同。在分析確定方程中未知數變化範圍的前提下,可通過對未知數可變範圍的窮舉,驗證方程在什麼情況下成立,從而得到相應的解。

(9) 編寫程式 ,輸入乙個正整數,計算並顯示該整數的各位數字之和,例如,整型數1987的各位數字之和是1+9+8+7,等於25。

(10) 編寫程式 ,功能是找出1至99之間的全部同構數。所謂同構數是這樣的一組數:它出現在它平方數的右邊。

(例如:5是25右邊的數,25是625右邊的數,5和25都是同構數。)

(11) 編寫程式在1-500中找出能同時滿足用3除餘2,用5除餘3,用7餘2的所有整數輸出並計數。

(12) 編寫程式試用單重迴圈結構程式設計實現,求出10個「韓信點兵數」。該數除以3餘2,除以5餘3,除以7餘4(如53,158,263)。

四、實驗要求:

此次實驗內容設定得比較多,請各位同學在課堂上至少選做其中5道題,其餘的請在下次上課前利用課外時間完成。

五、實驗報告填寫要求:

1、第一頁用《攀枝花學院實驗報告》紙,其後用《實驗報告附頁》紙。

2、第一頁填寫專案:

實驗課程:計算機基礎2-c語言實驗專案:[本次實驗名稱] 實驗日期:[本次實驗日期]

系班級姓名學號:

指導教師:

3、實驗報告正文要求:

實驗目的:(抄寫本次實驗目的)

實驗儀器裝置:pc機一套

實驗步驟(內容):

(要求完成以上第三部分內容,分析結果專案要求抄錄原題及程式,並在每道題的下方記錄程式執行結果及分析原因;程式設計題要求抄寫題目並寫出程式源**,並記錄程式的執行結果)

實驗結論:(分析通過本次實驗掌握的知識或是還有什麼遺留問題)

4、實驗報告寫好後將完成的實驗報告紙訂(或粘)在一起,於下一次上課前交給指導老師。

實驗三迴圈結構程式設計

一 實驗目的與要求 1 熟練掌握三種迴圈語句的應用。2 熟練掌握迴圈結構的巢狀。二 實驗內容 1 階乘問題 1 輸入n,求n的階乘n n 1 2 n 2 輸入n,求n的階乘和 1!2!n 2 水仙花數問題 1 輸出水仙花數及個數。2 輸入三位數m,n,輸出m n之間的水仙花數及個數,輸出的水仙花數要...

實驗三 迴圈結構程式設計

3 教材p76 習題4 7 即 請程式設計實現 輸出1 10000之間所有滿足各位數字的立方和等於它本身的數。例如153的各位數字的立方和是13 53 33 153 4 補充題 請程式設計實現 輸入一行字元,分別統計出其中英文本母 空格 數字和其他字元的個數。5 乙個數如果恰好等於它的因子 包括1,...

實驗迴圈結構程式設計

一 實驗目的 1 熟練掌握三種迴圈語句的應用。2.掌握break和continue語句的使用。3.熟練掌握迴圈結構的巢狀。4.掌握迴圈結構程式設計常用的演算法 例如一組資料求和 求平均值 求最大值最小值,判斷素數等。二 實驗內容 1 編寫乙個程式,其功能為 計算並輸出1 10的平方值。include...