C語言博客作業--嵌套循環


C語言博客作業--嵌套循環

一、PTA實驗作業

題目1:7-1 查詢水果價格

1. 本題PTA提交列表

2. 設計思路

3.本題調試過程碰到問題及解決辦法

  • 怎么在輸入0時直接跳出循環?
    一開始,將輸入0的情況直接寫在了switch語句中,但是結果雖然跳出,仍然輸出了price = 0.00

    仔細查看,原來是把輸出語句在循環里面,所以不能直接在switch語句中直接加入,而是在經過一個判斷,如果code=0,count=6,否則再進入switch語句中。
    解決方法:既然已經設置了一個計算輸出幾次的變量count,不妨讓code=0時讓count=6,6大於5,直接跳出循環。

題目2:7-7 歌唱比賽評分系統

1. 本題PTA提交列表

2. 設計思路

3.本題調試過程碰到問題及解決辦法

  • 問題一:將累加放在了第二個輸出后面,導致第一個num沒有累加到。

    調試:

    可知第一個數據90沒有累加到sum里面
    解決方法:

    將sum+=num放到第二個輸入前面,借助循環加到sum里面,再在外面補充一句加最后的num。
  • 問題二:如圖

    起初結果錯誤,一直結果錯誤,但因為最后求average的式子直接寫在一起,調試出來只能一下看出average結果錯誤,其他變量均沒錯,所以可能是這個式子出錯了。
    解決方法:average=1.0*(sum-min-max)/(n-2),n未有減2,導致的結果錯誤。

題目3:7-8 餐飲服務質量調查打分

1. 本題PTA提交列表

2. 設計思路

3.本題調試過程碰到問題及解決辦法

  • 當count中有等於0時,不能正確的換行,錯誤代碼:

    經調試,當count4等於0時不會進入循環,所以不會輸出\n
    解決方法:不在循環里面判斷是否輸出\n,而是在循環結束后換行,絕對沒錯。

二、同學代碼結對互評

1.互評同學名稱

  • 陳張鑫

2.我的代碼、互評同學代碼截圖(此處截圖核心代碼就好,不一定截圖全部代碼,圖上指明是誰的代碼。)
題目:餐飲服務質量調查打分

  • 我的代碼

  • 同學代碼

3.我和同學代碼不同在哪里?有哪些各自優勢?你更喜歡哪種代碼風格?如果同學代碼有錯的也請幫忙指出來哪里出問題。

  • 不同點1:進入循環的方式不同。
    我的代碼是遞增的方式,repeat到達指定值時不再循環,而且是用for循環寫的,較直觀;同學的代碼是先給定repeat的值,遞減的進行,到repeat==0時,不再循環,而且用while循環寫的,需要記得在循環里加上repeat--,這里很容易漏掉,造成死循環。我更喜歡我的風格。

  • 不同點2:判斷分數個數方法不同
    我的代碼是使用switch語句,同學的代碼使用的是if-else-if語句,我的代碼較直觀,也比較容易書寫,他的代碼較復雜,所以我更喜歡我的風格。

  • 不同點3:輸出換行的方式不同
    我使用的是通常的scanf語句,而他直接用putchar,這里我認為他比較好,比較省時間,也更容易,所以我更喜歡他的風格。

  • 他的代碼不足:對一系列score賦了兩次初值,其實可以直接放到repeat循環里面,省事省力,而且格式也比較亂,有待提高。

三、截圖本周題目集的PTA最后排名。

四、本周學習總結

1.你學會了什么?

  • 學會了使用再循環中使用break和continue語句。
    break語句是循環到break語句時就直接跳出循環;continue語句是直接結束這輪循環,不執行continue后面循環的內容,開始下一輪循環。

  • 通過打印空心菱形的那道題,懂得了打印類似圖形的基本思路,那就是要通過大循環中i變量的遞增或遞減,控制空格或者字母的輸出,對嵌套循環的理解加深了。

  • 練習了循環的嵌套習題,大部分還是會做的,但是對於某些題目還是要上網查一下思路,理解后自己打一遍代碼,在這個過程中,認識到了自己的不足,同時學會了一些新的思路和思考方式。

2.本周的內容,你還不會什么?

本周內容基本上已經學會,接下去就是不斷鞏固練習。


免責聲明!

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



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