| 這個作業屬於哪個課程 | C語言程序設計II |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11556 |
| 我在這個課程的目標是 | 學習新的分支語句 |
| 這個作業在那個具體方面幫助我實現目標 | 在PTA題目中有效幫我練習了switch分支語句 |
| 參考文獻 | c語言程序設計(第三版) |
| 學號 | 20208953 |
1.PTA實驗作業

1.1前天是哪天 (20分)
題目內容:本題目要求讀入年、月、日,然后判斷前天日期。輸出前天日期,格式形如2020-10-16。
1.1.1數據處理
數據表達:定義了a,b,c,d分別表達年月日和2月有幾天。
數據處理:先用判斷語句看日是否大於等於3,再用switch多分支結構,分日的前天要不要到上一個月,和要不要到上一年。
1.1.2實驗代碼截圖

1.1.3造測試數據
| 輸入數據 | 輸出數據 | 說明 |
|---|---|---|
| 2020 1 2 | 2019-12-31 | 前天年月日都要變 |
| 2020 11 26 | 2020-11-24 | 只有日變 |
| 2020 5 1 | 2020-4-29 | 日月變 |
1.1.4 PTA提交列表及說明

1.編譯錯誤:在vs中使用scanf_s在提交時沒有將_s刪去。
其他的沒有什么問題,學會switch的結構在vs多運行就能寫出。
1.2多分支表達-倍數問題
題目內容:鍵盤輸入1個正的整數A,如果A是3的倍數但不是5的倍數,則輸出A除以5的余數。如果A是5的倍數但是不是3的倍數,則輸出A除以3的余數。如果A既不是5的倍數但也不是3的倍數,輸出A除以15的余數。
1.2.1數據處理
數據表達:定義整形X代表輸入的數
數據處理:用if分支結構判斷輸入的整數為3或5的倍數,然后確定取除哪個數取余數。
1.2.2 實驗代碼截圖

1.2.3 造測試數據
| 輸入 | 輸出 | 說明 |
|---|---|---|
| 18 | 3 | 18是3的倍數除5取余 |
| 21 | 1 | 21是3的倍數除5取余 |
| 25 | 1 | 25是5的倍數除3取余 |
| 26 | 11 | 26不是3也不是5的倍數除15取余 |
| -5 | 無 | -5不為正數無輸出結果 |
1.2.4 PTA提交列表及說明

在vs中實驗通過了,然后注意了編譯的問題,結果在PTA上沒有什么問題了
但是在vs中發生取余方法出錯的問題,導致編譯不出來。
2.代碼互評
別人的代碼1

別人的代碼2

我的代碼

1.第一位同學的方法與我不同用的是if代碼行數少,看起來是簡便一些。
2.第二位和我都是用switch,但是他在弄月份的時候是直接打出來的,而我是用代數表達出來的。
3.每個人的想法不同,第一位同學的最少代碼行數。
3.學習總結
3.1學習進度條
| 周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
|---|---|---|---|---|
| 第八周 | 14 | 90 | printf等初級的使用 | 無 |
| 第九周 | 16 | 106 | 怎樣弄成函數輸出 | 無 |
| 第十周 | 18 | 126 | 條件結構 | 無 |
| 第十一周 | 20 | 142 | 循環結構 | =和==的區別不是很清楚 |
| 第十二周 | 24 | 240 | 多分支結構 | /和%的使用不清楚 |
| 第十三周 | 23 | 254 | switch的分支結構 | 有的時候不知道怎么變整形來用switch |
3.2累積代碼行和博客字數
| 時間 | 博客字數 | 代碼行數 |
|---|---|---|
| 第八周 | 800 | 90 |
| 第九周 | 967 | 106 |
| 第十周 | 1076 | 126 |
| 第十一周 | 1360 | 142 |
| 第十二周 | 1766 | 234 |
| 第十三周 | 1620 | 254 |

3.3 學習內容總結和感悟
3.3.1 學習內容總結

3.3.2學習體會
在做PTA作業的時候沒有想前面一樣多問題了,感覺自己也不是像之前那樣很迷茫,不知道在學什么。對我們學的有了大概的了解。希望在后面的學習,可以繼續進步。
