1.作業頭
| 這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11553 |
| 這個作業的目標 | 熟悉多分支結構switch語句的使用 |
| 學號 | 20209121 |
一、本周教學內容&目標
第3章 分支結構 3.3 使學生熟悉多分支結構switch語句的使用。
二、本周作業頭
| 這個作業屬於那個課程 | C語言程序設計II |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11553 |
| 我在這個課程的目標是 | 熟用C語言 |
| 這個作業在那個具體方面幫助我實現目標 | 熟悉多分支結構switch語句的使用。 |
| 參考文獻 | <C語言程序設計> |
三、本周作業
PTA實驗作業
代碼互評
學習總結
四、作業格式
1.PTA實驗作業(20分/題)
從PTA題目集中選出2個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題20分(每項5分)
請再此處列出自己的排名圖片,如:

1.1 題目名1 前天是哪天
內容描述:本題目要求讀入年、月、日,然后判斷前天日期。
1.1.1數據處理
數據表達:用了整型變量year,month,day,用以表達年月日。
數據處理:表達式:year%4==0&&year%100!=0||year%400==0,day>2,month;流程結構:用了if-else語句,switch語句。
1.1.2實驗代碼截圖


1.1.3 造測試數據
按照以下表格,輸出你的程序面向各種測試數據結果,除了題目給出的測試數據,可以自己再造其他臨界數據,越多越好,並加上必要說明
| 數值 | 2012 2 28 | 2016 4 23 | 2017 3 1 | 2018 1 1 |
|---|---|---|---|---|
| 結果 | 2012-2-26 | 2016-4-21 | 2017-2-27 | 2017-12-30 |
| 說明 | 前天是二十六號 | 前天是二十一號 | 前天是二月二十七號 | 前天是2017年的十二月三十日 |
1.1.4 PTA提交列表及說明

·編譯錯誤:有一條語句的末尾打成‘,’,改成‘;’即可。
·答案錯誤:輸出打成了‘%d%d%d’,應該打成‘%d-%d-%d’,改正即可。
1.2 題目2 多分支表達-倍數問題
鍵盤輸入1個正的整數A,如果A是3的倍數但不是5的倍數,則輸出A除以5的余數。如果A是5的倍數但是不是3的倍數,則輸出A除以3的余數。如果A既不是5的倍數但也不是3的倍數,輸出A除以15的余數
1.2.1 數據處理
數據表達:用了整型變量a,b,a表示輸入的一個整數,b表示a取余某個數的值。
數據處理:表達式:a%15==0,a<=0,a%3==0&&a%5!=0&&a%15!=0,a%3!=0&&a%5==0&&a%15!=0,a%3!=0&&a%5!=0&&a%15!=0 流程結構:用了else-if語句。
1.2.2 實驗代碼截圖

1.2.3 造測試數據
| 數值 | 18 | 20 | -5 | 15 | 25 |
|---|---|---|---|---|---|
| 結果 | 3 | 2 | 1 | ||
| 說明 | 18取余5得3 | 20取余3得2 | 小於零,不輸出 | 為十五的倍數,不輸出 | 25取余3得1 |
1.2.4 PTA提交列表及說明

·部分正確:沒有打上正整數小於等於零的情況,打上即可。
·部分正確:沒有考慮到十五的倍數的處理,不知道該如何下手,最后用了一個if語句將十五的倍數全部return 0。
2.代碼互評(5分)
同學代碼截圖

自己代碼截圖


1.第一份代碼輸入時用的是%d/%d/%d,第二份代碼用的是%4d/%2d/%2d。
2.第一份代碼是將相同天數的月放在一起,一起用一個算式,而第二份代碼則是每個月有自己的算式。
3.第一份代碼是在二月的情況下分閏年與非閏年,而第二份代碼是在閏年與非閏年的情況下分二月的天數。
同學代碼截圖

自己代碼截圖

1.第一份代碼沒有直接輸入十五的倍數的情況,第二份代碼則是直接輸入了十五倍數的處理情況。
2.第一份代碼在一個else-if語句中直接將結果輸出,而第二份代碼則是分情況算出結果后再輸出。
3.學習總結(15分)
3.1 學習進度條(5分)
| 周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
|---|---|---|---|---|
| 第八周 | 12h | 112 | 在屏幕上輸出一些語句或字符組成的圖形 | 無比較迷惑的問題 |
| 第九周 | 12h | 286 | if-else語句 | 計算的算式有些運算符號用的不好 |
| 第十周 | 15h | 423 | for循環語句 | 一些變量不能夠准確地定義,導致弄算式時輸出的答案是錯的 |
| 第十一周 | 15h | 536 | 調用並自定義函數 | 自定義函數時搞不清變量類型 |
| 第十二周 | 17h | 543 | 熟悉多分支結構、字符型數據類型和邏輯運算符 | 分支結構弄不清優先級 |
| 第十三周 | 18h | 591 | 熟悉多分支結構switch語句的使用 | switch后的表達式與case常量表達式的關系 |
3.2 累積代碼行和博客字數(5分)

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

