C語言部落格作業 巢狀迴圈

2022-05-29 14:48:10 字數 2323 閱讀 7314

問題:pta上總是顯示部分正確。

解決方法:

輸入13,結果正確;

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

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

問題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賦值!

問題:不知道怎麼輸出*,發現自己只能輸出1:,而沒有'星號',且不知道如何使'星號'疊加

解決方法:利用switch語句並定義乙個變數儲存grade個數,當grade等於相應分數,則疊加,再利用迴圈巢狀輸出'星號'。

李夢冰不好:夢冰的**沒有體現題目的原意,題目是說:「按從小到大的順序輸出所有不超過2n−1的梅森數,每行乙個。如果完全沒有,則輸出「none」。」。說明要迴圈乙個週期後,完全沒有的情況下輸出none,而她是n=1,輸出none,雖然結果正確,但是取巧了。沒有設定乙個變數來記錄出現素數的情況。

好:夢冰的**每一行都有注釋,看了她的**,我很容易看出了**代表的意義。清晰明了,這樣的**即使出現錯誤,也容易除錯找出錯誤。對於乙個打**的人,特別理解給**注釋的痛苦,夢冰這種難能可貴的精神值得每個人學習!

我:我的**從n=2開始,沒有考慮1的情況,不嚴謹。而且沒有注釋,自己看自己的**都需要時間來判斷**意義,還有定義變數很隨意。

夢冰:**很嚴謹,詳情參照上述好與壞。

學會了如何使用巢狀迴圈解決問題,學會了利用流程圖代替語言說明設計思路。初步學會了利用偽**解決難題,這樣比起一開始沒有思路而盲目打**,情況好多了。

實參:主調函式的引數,可以為常量,變數,表示式。

形參:呼叫函式的引數,必須為變數。

函式通過將實參的值單向複製給形參,而且定義形參的值不會影響實參的值單向複製給形參。

定義自定義函式時,需要函式宣告,定義,呼叫,結果返回。

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

終於會利用除錯找出問題,但是有一些問題並不是利用除錯能夠找不出的,這個就很煩。看見同學莫名其妙改動一些**,讓**變正確,而自己卻不懂這些改動的意義,這就很無力。

不過我知道他們此刻的正確是通過無數遍嘗試造就的,所以自己想要進步,多練必不可少。

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

C語言部落格作業 巢狀迴圈

2.設計思路 3.本題除錯過程碰到問題及解決辦法 這是一句看似容易理解但是會忽略其重點的 按5.2.1分迴圈 從大到小輸出 先盡可能多地輸出5fen的數量然後2fen,1fen。如果意識到這個問題後就會發現一開始的 確實不符合題意,下面是正確 上 錯誤 下 進行對比,一目了然 1.定義整數型變數n,...

C語言部落格作業 巢狀迴圈

1.定義整形變數i 0為迴圈變數定義整形變數n儲存所要查詢水果 2.當i 5時執行迴圈 每次迴圈i 輸入乙個整數存於n中 如果n為1則輸出3.00 如果n為2則輸出2.50 如果n為3則輸出4.10 如果n為4則輸出10.20 如果n為0則跳出迴圈 如果n不為以上數則輸出0.00 迴圈條件錯誤導致答...

C語言部落格作業 巢狀迴圈

首先在螢幕上顯示以下選單 輸入在一行中給出使用者連續輸入的若干個編號。輸出格式 首先在螢幕上顯示選單。然後對應使用者的每個輸入,在一行中按格式 price 輸出查詢結果,其中 保留兩位小數。當使用者連續查詢次數超過5次 或主動輸入0時,程式結束。將一筆零錢換成5分 2分和1分的硬幣,要求每種硬幣至少...