C語言程序設計第三次作業


C語言程序設計第三次作業

(一)改錯題

  • 計算f(x)的值:輸入實數x,計算並輸出下列分段函數f(x)的值,輸出時保留1位小數。

1.源程序:

2.錯誤及改正。

  • 錯誤信息1:
  • 錯誤原因:中括號內內容未加分號。
  • 改正方法:在x后加分號。
  • 錯誤信息2:
  • 錯誤原因:if語句后的括號后不應該有分號。
  • 改正方法:將括號后分號去掉。
  • 錯誤信息3:
  • 錯誤原因:else后不應加括號。
  • 改正方法:將括號及以內內容去掉。
  • 錯誤信息4:
  • 錯誤原因: x,y前沒有逗號。
  • 改正方法:在下x,y前加上逗號。
  • 錯誤信息5:同錯誤信息4反映情況一。
  • 錯誤原因:經檢查xy之間仍舊差一個逗號。
  • 改正方法:xy之間加一個逗號。
  • 錯誤信息6:經檢查,輸入語句中未加入地址符&。
  • 錯誤原因:x未取地址符。
  • 改正方法:在x前加一個&。
  • 錯誤信息7:經繼續檢查,發現輸入語句存在問題。
  • 錯誤原因:輸入語句中“%f”不能直接輸入,應改為“%lf”。
  • 改正方法: 將%f改為%lf。

3.改正后正確程序。

(二)

1.if(a)if(b) x=x+1;else y=y+1; 的確切含義是什么?這個else應該和哪個if配對?如何明確表達這種配對方法?將該段代碼按照規范化的格式進行書寫。

  • 1.如果輸入的語句符合括號內的條件就執行x=x+1;否則就執行y=y+1
  • 2.與第二個配對
  • 3.在else后加{}
  • 改正后的代碼:

2.C語言的表達式 (-10< x <10)能夠表達x在區間(-10,10)嗎?為什么?如果不能,正確的表達式應該怎么寫?

  • 1.不能。
  • 2.這樣的話先會比較-10和x的大小,然后再比較后者,這樣不會輸出正確結果。
  • 3.只能用x>-10 && x<10;來表示。

3.C語言中輸入數據時,如果遇到非法字符,如果遇到非法字符,則認為輸入結束。運行程序(1),輸入123a,看看輸出結果是什么?你能解釋是為什么嗎?

  • 1.輸出結果:
  • 2.原因:非法字符無法輸出,所以就輸出了一個隨機數。

(2)(2)scanf()函數的返回值是成功讀入數據的個數,如果沒有讀取任何數據,則返回0。運行程序(2),分別輸入123 45和123a,看看輸出結果是什么?為什么?

  • 1.輸出結果:123 45
  • 123a
  • 總結:因為返回值是成功讀取變量的個數,所以當輸入“123 45”的時候,可以讀出兩個數據,故n=2;當輸入123a的時候因為a為非法數據,不能賦值,所以只將123賦值給了a,所以n=1。
  • 新程序:
  • 內容總結:在這段學習中,我學會了數學符號的使用方法,在我們以后進行的復雜編程中會起到很大作用;還有就是一定要注意整形,實型的區別,還有就是if,else語句的用法,注意相關的格式。

(三)實驗總結

題目2.本題目要求計算下列分段函數f(x)的值

2.流程圖

3.源程序

4.運行結果

  • 第一次:輸入10
  • 結果:
  • 結果符合預期
  • 第二次:輸入-0.5
  • 結果:

5:出現的問題

  • 問題1:運用了數學符號sqrt,但出現以下情況。
  • 解決辦法:經檢查發現未加上數學專用字符#include <math.h>

題目4.對於輸入的兩個整數,按照要求輸出其和差積商

2.流程圖:

3.源程序:

4.運行結果

  • 第一次:輸入6 3
  • 結果:
  • 第二次:輸入8 4
  • 結果:

5.出現的問題

  • 問題:在做除法時第一次未考慮除不盡的情況。
  • 解決辦法:增添if語句,然后向同學請教了和,差,積,商的英文用法。

題目6:本題要求編寫程序,根據輸入的三角形的三條邊a、b、c,計算並輸出面積和周長。

1.流程圖:

2.源程序:

3.運行結果

  • 輸入5 5 3:
  • 輸入1 4 1:

4.出現的問題

  • 問題1:輸出錯誤,經檢查,未加入數學字符#include <math.h>
  • 改正方法:加入上述字符。
  • 運行符合預期。

題目8:本題要求根據某城市普通出租車收費標准編寫程序進行車費計算。具體標准如下:

起步里程為3公里,起步費10元;
超起步里程后10公里內,每公里2元;
超過10公里以上的部分加收50%的回空補貼費,即每公里3元;
營運過程中,因路阻及乘客要求臨時停車的,按每5分鍾2元計收(不足5分鍾則不收費)。

1.流程圖:

2.源程序:

3:輸出結果

  • 輸入2 6 2
  • 輸出結果:

4.出現的問題

  • 問題1:輸出值全為整數
  • 原因:未考慮使用double
  • 解決辦法:在km,money中使用double語句。

(五)PTA提交列表



免責聲明!

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



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