C語言程序設計第四次作業——選擇結構(2)


(一)改錯題

輸出三角形的面積和周長,輸入三角形的三條邊a、b、c,如果能構成一個三角形,輸出面積area和周長perimeter(保留2位小數);否則,輸出“These sides do not correspond to a valid triangle”。

源程序(有錯誤的程序)

錯誤一
錯誤原因:缺少括號,不能結對

改正方法:增加括號,使括號結對

錯誤二
錯誤原因:if與else中的語句沒有加花括號

改正方法:增加大括號

錯誤三
錯誤原因:根據題意要求,本題if語句中應該用且的關系,而不是或


改正方法:將if語句中的符號改為&&

測試數據及運行結果:
輸入5 5 3

輸入1 4 1

運行結果,測試數據正確

(二)學習總結

1.在編程解決問題的過程中,我們會用到多個if語句,if...else if... 語句以及switch語句,查閱資料,總結一下這三種情況的區別何在,並分別舉例加以說明。禁止大段復制,要自己對資料進行歸納總結,並給出你參考的資料鏈接。
if語句的使用方法比較多,可以只是用if一個條件,也可以使用二分支結構if-else語句,當條件比較多的時候,還可以使用多分支結構和else-if語句,所以使用的方法比較多,適用面也就更廣。if語句適用范圍比較簡單,而else if語句則能夠表達更多的選擇條件。使用if else語句的時候,一定要注意條件間的的對應問題,以及選擇語句括號中的符號用法,極易出錯。而當程序比較復雜的時候,就會出現多個if else嵌套的情況,會使程序可讀性很差,而且極易出錯。這時我們就要借助switch語句,一個專門用於處理多分支結構的條件選擇語句,switch又稱為開關語句,與case搭配,並且結尾加上break語句會使程序跳出switch語句,當然,使用switch語句的時候一定要考慮語句的格式與正確寫法。

2.對其他你認為需要進行總結的內容進行總結
要注意switch語句的使用格式,開關語句具有穿透性,注意break的合理使用。有些情況下也會利用開關語句的穿透性簡單的解決問題。同樣要注意default后並不需要break,並且default語句並不是編程序時一定需要的,所以一定要加強對switch語句的聯系,熟練掌握。

(三)實驗總結

1.成績轉換
(1)題目:本題要求編寫程序將一個百分制成績轉換為五分制成績。轉換規則:
• 大於等於90分為A;
• 小於90且大於等於80為B;
• 小於80且大於等於70為C;
• 小於70且大於等於60為D;
• 小於60為E。
(2)源程序:

(3)流程圖

(4)實驗分析
問題:利用變量等效替代的時候出現了問題
解決方法:在草稿紙上畫出流程圖,理清思路,解決了問題
(5)本題PTA提交列表

  1. 高速公路超速處罰
    (1)題目:按照規定,在高速公路上行使的機動車,超出本車道限速的10%則處200元罰款;若超出50%,就要吊銷駕駛證。請編寫程序根據車速和限速自動判別對該機動車的處理。
    (2)源程序

    (3)流程圖

    (4)實驗分析
    問題:輸出時出現錯誤,結果正好與正確答案相反
    解決辦法:將出現問題的語句修改,將輸出語句的變量的順序更換。
    (5)本題PTA提交列表

3.計算油費問題
(1)題目:現在90號汽油6.95元/升、93號汽油7.44元/升、97號汽油7.93元/升。為吸引顧客,某自動加油站推出了“自助服務”和“協助服務”兩個服務等級,分別可得到5%和3%的折扣。
本題要求編寫程序,根據輸入顧客的加油量a,汽油品種b(90、93或97)和服務類型c(m - 自助,e - 協助),計算並輸出應付款。
(2)源程序:

(3)流程圖

(4)實驗分析
問題:框圖邏輯出現混亂
解決辦法:和同學經過討論,改正框圖
(5)本題PTA提交列表

4.12-24小時制轉化問題
(1)題目:編寫一個程序,要求用戶輸入24小時制的時間,然后顯示12小時制的時間。
(2)源代碼:

(3)流程圖:

(4)實驗分析
問題:0點的轉化遇到問題
解決方法:將時間減去12小時,即可解決0點屬於那一天的問題
(5)本題PTA提交列表

(四)博客互評
1.許天笑:http://www.cnblogs.com/snxtx/p/7763856.html

2.滕文清:http://www.cnblogs.com/tengwenqing/p/7762729.html

3.賀雲濤:http://www.cnblogs.com/zxh980818/p/7775420.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM