| 這個作業屬於哪個課程 | C語言程序設計II |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11554 |
| 我在這個課程的目標是 | 掌握switch語句並使用它使程序更簡單易懂 |
| 這個作業在那個具體方面幫助我實現目標 | PTA作業以及天梯 |
| 參考文獻 | C語音程序設計 |
- PTA作業

1.1
7-3 計算天數 (15分)
本題要求編寫程序計算某年某月某日是該年中的第幾天。
輸入格式:
輸入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)給出日期。注意:閏年的判別條件是該年年份能被4整除但不能被100整除、或者能被400整除。閏年的2月有29天。
輸出格式:
在一行輸出日期是該年中的第幾天。
輸入樣例1:
2009/03/02
輸出樣例1:
61
輸入樣例2:
2000/03/02
輸出樣例2:
62
1.1.1數據處理
數據表達:用有整形函數定義y,x,d,m。
數據處理:運用了switch循環語句和if條件語句,首先用循壞語句,然后再判斷年份是否為閏年以及月份是否大於二月。
1.1.2實驗代碼截圖


1.1.3 造測試數據
| 實驗數據 | 實驗結果 |
|---|---|
| 2007/03/02 | 61 |
| 2000/03/02 | 62 |
| 2002/12/05 | 339 |
1.1.4 PTA提交列表及說明

答案錯誤:只考慮了m>=2的情況,而未考慮m<2的情況。
1.2
7-4 前天是哪天 (20分)
本題目要求讀入年、月、日,然后判斷前天日期。
輸入格式:
在一行中輸入年、月、日。(日期為有效日期)
輸出格式:
輸出前天日期,格式形如2020-10-16
輸入樣例:
2020 10 16
輸出樣例:
2020-10-14
輸入樣例:
2020 1 2
輸出樣例:
2019-12-31
輸入樣例:
2020 3 2
輸出樣例:
2020-2-29
輸入樣例:
2019 3 2
輸出樣例:
2019-2-28
1.2.1 數據處理
數據表達:用整形函數定義y,m,d。
數據處理:運用了switch循環語句和if條件語句,首先用if語句,再用循環語句,再用if語句。
1.2.2


1.2.3 造測試數據
| 實驗數據 | 實驗結果 |
|---|---|
| 2002 02 19 | 2002-2-17 |
| 2020 3 2 | 2020-2-29 |
| 2020-2-29 | 2019-12-30 |
1.2.4 PTA提交列表及說明

部分正確:未考慮m=1,d<=2的情況。補上就行了
2.代碼互評(5分)
找2份同學代碼,和自己代碼比較,建議互評代碼盡量找代碼風格差異較大。
同學代碼截圖


自己代碼截圖


與同學一相比,他的if語句將所有情況列出來了,略顯復雜,而我沒有。
與同學二相比,她定義了flag,先用if語句再用switch做了出來,與她相比我顯得有些復雜。
3.學習總結(15分)
3.1 學習進度條(5分)
| 周/日期 | 這周所花的時間 | 代碼行 | 學到知識點的簡介 | 目前比較迷惑的問題 |
|---|---|---|---|---|
| 6/23-6/29 | 8.5小時 | 512 | switch語句 | 無 |
3.2 累積代碼行和博客字數(5分)

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

3.3.2 學習體會
覺着if與switch很相像,而且有些題目用它們都可以做出來,就像第四題,我第一想的是用if語句把它做出來。
五、評價標准
C語言作業評價標准
本次作業特別注意:
1.提交列表沒內容,或者太簡單,每題得分0分。注意選擇提交列表長的題目介紹。
2.代碼格式不規范,0分。
3.代碼互評,內容簡單,0分。
4.學習內容總結無思維導圖,0分。
