C語言程式設計第五次作業 迴圈結構(1)

2022-06-04 22:45:10 字數 2648 閱讀 8659

(一)改錯題

輸出華氏攝氏溫度轉換表:輸入兩個整數lower和upper,輸出一張華氏攝氏溫度轉換表,華氏溫度的取值範圍是,每次增加2℉。計算公式如下:

c = 5×(f-32)/9

其中,c表示攝氏溫度,f表示華氏溫度。

輸入輸出樣例1:

enter lower:32

enter upper:35

fahr celsius

32 0.0

34 1.1

輸入輸出樣例2:

enter lower:40

enter upper:30

fahr celsius

錯誤的源程式:

錯誤資訊1:

錯誤原因:沒有考慮到輸入資料的合法性,即 華氏溫度的取值範圍是,lower<=upper.

改正方法:加入if語句做判斷:

錯誤資訊2:

錯誤原因:for中的三個條件應該用兩個分號分開,且 迴圈變數增值錯誤,

改正方法:將逗號改為分號,將fahr ++改為fahr +=2或fahr = fahr + 2:

錯誤資訊3:

錯誤原因:公式運用錯誤。

改正方法:

錯誤資訊4:

錯誤原因:fahr是整型,不應該用%xxf。

改正方法:把%3.0f改為%3d:

改正後的程式:

(二)學習總結

1:源程式:

程式的執行過程:1:首先,定義變數 i,num,odd,even,且給odd和even賦初值為0。

2:然後進入迴圈執行過程,給i賦初值為1,且以i<=10為迴圈條件進行。

3:若i<=10為真,則執行scanf("%d",&num) 即輸入乙個整數,儲存在num中。

4:然後進行判斷輸入的整數是否為偶數。

5:如果是偶數,則執行變數even加1。

6:如果不是偶數,則執行變數odd加1。

7:然後,對i加1,繼續判斷i<=10。

8:若為真,則再輸入乙個整數。

9:判斷是否為偶數,如果是偶數,則再次執行變數even加1。

10:如果不是偶數,則執行變數odd加1。

11:然後再給i加1,繼續判斷i<=10,進入迴圈過程。

12:如果i<=10為假,則不執行判斷,直接輸出even和odd的初值,程式結束。

2:增量運算子

(1) 執行程式結果:

增量運算子在單獨使用時,字首和字尾形式是沒有區別的,執行結果是一樣的。

(2)執行程式結果:

i 語句的執行過程:開始給i的初值為2,然後輸出i++,因為不是單獨使用,而是放到了輸出語句中,作為輸出語句的一部分,又因為是字尾的形式,所以,先輸出i的初值,在對i加1,但是i的值已經輸出,所以加1後i的值不會再輸出,所以輸出為2.

j 語句的執行過程:開始給j的初值為2,然後輸出++j,,因為不是單獨使用,而是放到了輸出語句中,作為輸出語句的一部分,因為是字首的形式,所以,先對j進行加1的操作,在輸出加1後j的值,所以輸出3.

說明:增量運算子在作為表示式的一部分時,字首形式和字尾形式的執行過程是不一樣的。即字首形式先對變數加上或是減去相應的數,而字尾形式是先輸出變數然後再對變數加上或是減去相應的數。

這兩條輸出語句執行完後,i和j的值都為3.

3:(1)執行程式結果:

(2)執行程式結果:

(3)執行程式結果:

(4)執行程式結果:

由以上幾種執行結果不難看出:(1):迴圈體的認定與縮格形式無關,與{}有關。

(2):因為一對{}所包含的內容代表乙個完整的語句,放在{}裡面的語句都要一起執行。

(3):要正確判斷乙個迴圈語句中的迴圈體,要看題目要求,如果題目要求輸出語句為換行形式輸出,那麼在{}內就要使迴圈體語句包含換行的語句。

(4):程式2,3,4都是正確的縮排格式。

4:總結:對於學過的知識,一定要及時複習,特別是對於c語言這個學科,自己的問題往往是在實踐中發現並改正的。

石廣正的本次作業完成的很完整,對問題能從根本上解決,解題步驟很清晰,適當的分配截圖會使人更好的理解,這點做的很好,應該向你學習。

第五次作業C語言

1.函式的形式編寫二分查詢 方法1 define crt secure no warnings include include int search int arr,int data,int len else if data arr righ else if data arr med else if...

c語言第五次作業

1.實驗 7 1 判斷素數。include include int panduan int c int main void for i 1 i a i return 0 int panduan int c for i 2 i return r 2 設計思路 1 文字描述 第一步 輸入a,每次迴圈用自...

c語言第五次作業

1.實驗 include include intmain if x 1 flag 0 printf no n else printf yes n return0 2設計思路 1 定義整形變數n,i,flag,x 2 利用while迴圈求出素數 3 是素數輸入yes,不是輸入no 3流程圖 3.本題除...