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


一、PTA實驗作業


題目1:7-4 換硬幣

2 .設計思路

  • 第一步:定義3個整型變量i,j,k用於循環,定義3個整型變量x,count,total分別用於儲存零錢數額,換法個數,硬幣數量;
  • 第二步:輸入x,判斷3個循環條件,是否同時滿足條件x=i+2j+5k;
  • 第三步:如果滿足,計算硬幣總數,輸入結果,count加1,並重復步驟2;
  • 第四步:如果不滿足,重復步驟2,直至循環結束。
  • 第五步:輸出count數量;

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

問題:pta上總是顯示部分正確。
解決方法:
輸入13,結果正確;

輸入19,則沒有從大到小排序。

調試代碼,發現循環時從主循環i(一分硬幣)開始,由最小值1慢慢循環,直至結果最大,體現不出從大到小排序。與題目要求輸出k(5分硬幣)的最大值也不相符;所以調整循環位置,k變為主循環,i為嵌套循環。並且k,j,i從最大值開始循環,直至結果最小。通過下圖改變循環主次,循環方向,得出正確答案。


4.本題PTA提交列表



題目2:

2 .設計思路

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

問題1:repeat=1時結果正確,但是repeat=2時,不能進入循環。
如圖,i=1,但是並沒有執行循環,反而程序結束。
解決方法:return 0;在循環內,所以執行return時,程序結束。
問題2:在dev上答案都是正確,但是pta結果錯誤,開始調試
解決方法:
當i=1時,答案無誤,但是max=91,min=85,而不是一開始的max=0,min=100,造成結果錯誤。
所以把max=0,min=100放在主循環內,當i++時,重新對max,min賦值!

4.本題PTA提交列表


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

2 .設計思路

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

問題:不知道怎么輸出*,發現自己只能輸出1:,而沒有'星號',且不知道如何使'星號'疊加
解決方法:利用switch語句並定義一個變量儲存grade個數,當grade等於相應分數,則疊加,再利用循環嵌套輸出'星號'。

4.本題PTA提交列表

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

三、同學代碼結對互評

1.互評同學名稱

李夢冰

2.我的代碼、互評同學代碼截圖

  • 我的代碼

  • 夢冰的代碼

分析夢冰的好與壞

不好:夢冰的代碼沒有體現題目的原意,題目是說:“按從小到大的順序輸出所有不超過2n−1的梅森數,每行一個。如果完全沒有,則輸出“None”。”。說明要循環一個周期后,完全沒有的情況下輸出none,而她是n=1,輸出none,雖然結果正確,但是取巧了。沒有設置一個變量來記錄出現素數的情況。
好:夢冰的代碼每一行都有注釋,看了她的代碼,我很容易看出了代碼代表的意義。清晰明了,這樣的代碼即使出現錯誤,也容易調試找出錯誤。對於一個打代碼的人,特別理解給代碼注釋的痛苦,夢冰這種難能可貴的精神值得每個人學習!

對比

我:我的代碼從n=2開始,沒有考慮1的情況,不嚴謹。而且沒有注釋,自己看自己的代碼都需要時間來判斷代碼意義,還有定義變量很隨意。
夢冰:代碼很嚴謹,詳情參照上述好與壞。

三、本周學習總結

1.你學會了什么?

學會了如何使用嵌套循環解決問題,學會了利用流程圖代替語言說明設計思路。初步學會了利用偽代碼解決難題,這樣比起一開始沒有思路而盲目打代碼,情況好多了。
實參:主調函數的參數,可以為常量,變量,表達式。
形參:調用函數的參數,必須為變量。
函數通過將實參的值單向復制給形參,而且定義形參的值不會影響實參的值單向復制給形參。
定義自定義函數時,需要函數聲明,定義,調用,結果返回。

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

不會函數題目,因為才開始接觸,不熟悉,多做題就好多了。

3.你碰到什么困難,打算如何解決?

終於會利用調試找出問題,但是有一些問題並不是利用調試能夠找不出的,這個就很煩。看見同學莫名其妙改動一些代碼,讓代碼變正確,而自己卻不懂這些改動的意義,這就很無力。
不過我知道他們此刻的正確是通過無數遍嘗試造就的,所以自己想要進步,多練必不可少。

小結

  感覺自己這一周進步比較大,很多代碼錯誤都是通過自己調試找出的,而不是一味問同學。其次,寫設計思路再也不痛苦了,因為流程圖真的是一個好東西。通過流程圖可以把很多思路清晰簡單的表達出來,而過去寫思路用語言表達太過於空洞。盡管一開始寫流程圖效率確實很低,但是進步的空間也是比較大的。最后,發現以前學的東西真的要會用,這次嵌套作業,我用了很多以前的分支知識,學以致用的感覺真的很爽。


免責聲明!

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



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