(一)改錯題
輸出華氏攝氏溫度轉換表:輸入兩個整數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.本題除...