4實驗四迴圈結構程式設計

2022-09-23 18:18:04 字數 1530 閱讀 4970

一、實驗目的

1.學習迴圈語句for、while和do-while語句的使用方法。

2.學習用迴圈語句實現各種演算法,例如窮舉法、迭代法等。

3.進一步熟悉tc整合環境的使用方法。

二、實驗內容

1.下列程式計算sum的值。除錯該程式,使之能正確地計算sum。寫出除錯過程。計算公式如下:

main( )

int t,s,i,n;

scanf("%d",&n);

for(i=1;i<=n;i++)

t=1/i;

s=s+t;

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

在除錯過程中,用單步執行的方法觀察變數s和t的值的變化,找到程式中存在的問題,加以改正。

2.下面程式的功能是計算n!。

main()

int i,n,s=1;

printf("please enter n:");

scanf("%d",&n);

for(i=1;i<=n;i++)

s=s*i;

printf("%d! = %d",n,s);

首次執行先輸入n=4,輸出結果為4!=24,這時正確的。為了檢驗程式的正確性,再輸入n=10,輸出為10!

=24320,這顯然是錯誤的。為了找到程式的錯誤,可以通過單步執行來觀察變數的變化。這次我們在for迴圈體中增加一條輸出語句,把變數s每次的運算結果顯示出來。

顯示的結果是:

s=1s=2s=6s=24

s=120

s=720

s=5040

s=-25216

s=-30336

s=24320

運算過程中居然出現的負值,從顯示看出s=5040是7!,再乘以8應是40320,實際卻是乙個負數。分析產生這種現象的原因,把程式改正過來,再用n=20進行實驗,分析所得到的結果。

2.北京市體育彩票採用整數1、2、3、……、36表示36種體育運動,一張彩票可選擇7種運動。編寫程式,選擇一張彩票的號碼,使得這張彩票的7個號碼之和是105且相鄰兩個號碼之差按順序依次是1、2、3、4、5、6。如果第乙個號碼是1,則後續號碼應是2、4、7、11、16、22。

3. 編寫程式實現輸入整數n,輸出如下所示由數字組成的菱形。(圖中n=5)

11 2 1

1 2 3 2 1

1 2 3 4 3 2 1

1 2 3 4 5 4 3 2 1

1 2 3 4 3 2 1

1 2 3 2 1

1 2 1

1 三、實驗要求

1.複習for、while 、do-while語句和continue、break語句。

2.在程式除錯中,要實現準備充分的測試用例。

3.編寫程式,執行程式並記錄執行結果。注意程式的書寫格式。

4.將源程式、目標檔案、可執行檔案和實驗報告存在伺服器的指定資料夾中。

四、選做題

已知2023年1月1日是星期一,編寫程式,在螢幕上輸出2023年的年曆。關於閏年的計算方法:如果某年的年號能被400除盡, 或能被4除盡但不能被100除盡,則這一年就是閏年。

實驗4 迴圈結構程式設計答案

班級學號姓名 完成日期課 內 外總計本實驗用時間 一 實驗目的 1 熟練掌握while語句,do while語句和for語句的格式和功能,能夠用這些語句實現迴圈結構程式設計的方法。2 熟練掌握迴圈語句巢狀使用的基本形式,能夠用迴圈語句實現多重迴圈。3 掌握在迴圈結構程式設計中使用break語句和co...

MATLAB實驗四迴圈結構程式設計

matlab實驗報告 學院 光電學院 班級 073 1 姓名 劉穎 學號 200713503117 實驗四迴圈結構程式設計 1.根據,求的近似值。當n分別取100 1000 10000時,記過是多少?n 100 程式設計 n 100 i 1 n f 1.i.2 x sum f y sqrt 6 x ...

實驗迴圈結構程式設計

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