C語言I博客作業07


1.作業頭

這個作業屬於哪個課程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585
這個作業的目標 熟悉使用while和do-while結構解決問題
學號 20209121

一、本周教學內容&目標

第4章 循環結構 4.1-4.2 熟悉使用while和do-while結構解決問題。

二、本周作業頭

這個作業屬於那個課程 C語言程序設計II
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585
我在這個課程的目標是 熟用C語言
這個作業在那個具體方面幫助我實現目標 熟悉使用while和do-while結構解決問題
參考文獻 <C語言程序設計>

三、本周作業

PTA實驗作業
代碼互評
學習總結

四、作業格式

1.PTA實驗作業(20分/題)

從PTA題目集中選出2個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題20分(每項5分)
請再此處列出自己的排名圖片,如:

1.1 題目名1 循環-古角猜想

內容描述:日本數學家古角靜夫研究自然數時,發現一個有趣現象:“如果是個偶數就除2,如果是奇數就乘以3加1”,經過有限個這樣的處理步驟,最后一定能得到1. 任意輸入一個自然數,給出得到結果1的運算過程,輸入一個自然數n,輸出每次運算步驟,直到結果為1。

1.1.1數據處理

數據表達:用了整型變量n,n表示輸入的一個自然數。
數據處理:表達式:n!=1,n%2==0;流程結構:用了if-else語句,while循環語句。
偽代碼:
Begin(算法開始)
輸入 n
scanf 輸入一個自然數
while n!=1
if (n%2==0)
then [n/=2]
else [n=n*3+1]
End (算法結束)

1.1.2實驗代碼截圖

1.1.3 造測試數據

按照以下表格,輸出你的程序面向各種測試數據結果,除了題目給出的測試數據,可以自己再造其他臨界數據,越多越好,並加上必要說明

數值 5 6 4 3
結果 5*3+1=16 6/2=3 4/2=2 3*3+1=10
16/2=8 3*3+1=10 2/2=1 10/2=5
8/2=4 10/2=5 5*3+1=16
4/2=2 5*3+1=16 16/2=8
2/2=1 16/2=8 8/2=4
8/2=4 4/2=2
4/2=1 2/2=1
說明 5經過5次變換得到1 6經過7次變換得到1 4經過2次變換得到1 3經過7次變換得到1

1.1.4 PTA提交列表及說明

·格式錯誤:每一個輸出的算式后沒有加上回車鍵,加上‘\n’即可。
·答案錯誤:while 后的條件寫成了‘n==1’,改成‘n!=1’即可。

1.2 題目2 購物(二)

用戶購買了若干個商品(商品數不超過10),現在,他告訴你每件商品的價格,你計算出這些商品的平均價格。

1.2.1 數據處理

數據表達:用了雙精度浮點型變量a,b,c,整型變量count,count表示商品的數量,a表示輸入的一個商品的價格,b用來統商品價格總數,c算每件商品的平均價。
數據處理:表達式:count<10,a==-1, 流程結構:用了else-if語句以及while循環語句。
偽代碼:
Begin(算法開始)
輸入 a,b,c,count
b ← 0
count ← 0
while count<10
scanf 輸入商品價格
if (a==-1)
then [break]
else [b=b+a,count++,c=b/count]
End (算法結束)

1.2.2 實驗代碼截圖

1.2.3 造測試數據

數值 890.78 2769.8 -1 890.78 2769.8 978.2 890.78 2769.8 -1 978.2 55 555 5555 -1 786 546 -1 345
結果 1830.29 1148.62 1830.29 2055.00 666.00
說明 每件商品平均價為1830.29元 每件商品平均價為1148.62元 程序到-1截止,每件商品平均價為1830.29元 每件商品平均價為2055.00元 程序到-1截止,每件商品平均價為666.00元

1.2.4 PTA提交列表及說明

·部分正確:while 后的條件寫成了count>=10,寫反了,改為‘count<10’即可。
·部分正確:if后的條件寫成了‘a=-1’,改成‘a==-1’即可。
·部分正確:‘count++’與‘c=b/count’順序反了,應該‘count++’在前。

2.代碼互評(5分)

同學代碼截圖

自己代碼截圖

1.第一份代碼在while語句前用了一個輸入語句,輸入了一個商品的價格,而第二份代碼沒有。

2.第一份代碼算的時候計算了循環次數,用了n來記循環次數,然后,最后輸出時直接算總價與總次數的商,從而算出商品的平均價,而第二份代碼則是在每一次一個商品的價格輸入時就與之前的總價相加,接着就算平均價,最后算出平均價,再輸出。

同學代碼截圖

自己代碼截圖


1.第一份代碼用的是for循環語句,第二份代碼則是用的while循環語句。

2.第一份代碼將‘Game Over’的分成次數與輸入的數是否為負數兩種情況來弄,而第二份代碼則是用了一個if語句將兩種情況放在一起來弄。

3.第一份代碼寫了兩個數相等的情況下break,而第二份代碼則是將相等與大於放在一起弄。

3.學習總結(15分)

3.1 學習進度條(5分)

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第八周 12h 112 在屏幕上輸出一些語句或字符組成的圖形 無比較迷惑的問題
第九周 12h 286 if-else語句 計算的算式有些運算符號用的不好
第十周 15h 423 for循環語句 一些變量不能夠准確地定義,導致弄算式時輸出的答案是錯的
第十一周 15h 536 調用並自定義函數 自定義函數時搞不清變量類型
第十二周 17h 543 熟悉多分支結構、字符型數據類型和邏輯運算符 分支結構弄不清優先級
第十三周 18h 591 熟悉多分支結構switch語句的使用 switch后的表達式與case常量表達式的關系
第十四周 22h 638 熟悉使用while和do-while結構解決問題 while后的條件常常不明白是限制條件還是允許繼續循環條件

3.2 累積代碼行和博客字數(5分)

3.3 學習內容總結和感悟(5分)

3.3.1 學習內容總結

3.3.2 學習體會

請回顧自己的本周的學習過程,描述學習感受,也可以提出你不理解的地方、對教師教學建議等。如果你有新的想法或者新的方法,請及時記錄下來。

1.這周學習了while和do-while結構,這次在第二題野王認證與第七題單重循環——數雞蛋上卡了許久,最后還是解決了,開心。
2.真開心,知識接受的很快,又認真聽課了,沒什么不懂的地方,可能就是while后的那個括號里的條件我有點迷糊,老是搞不清那個條件應該是不能讓語句繼續循環還是能讓語句繼續循環。
3.希望老師繼續保持這個進度,覺得剛剛好,不快也不慢。
4.代碼打了將近七個星期了,還是覺得要天天打,練手感,最初,很容易出現邏輯錯誤,格式錯誤,現在基本不出現了,只是不小心時會出現。
5.還是要提前學下新知識,這樣接受能力會強些。
6.第一次打偽代碼,在百度上查了下偽代碼是什么,怎么弄,可能會有不好的地方,繼續加油。


免責聲明!

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



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