| 這個作業屬於哪個課程 | C語言程序設計II |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11552 |
| 我在這個課程的目標是 | 熟練掌握switch語句 |
| 這個作業在哪個具體方面幫助我實現目標 | 實踐方面:通過PTA作業來練習,加強自己能力 |
| 參考文獻 | c語言程序設計,百度,C Primer Plus |
1.PTA實驗作業(20分/題)

1.1 題目名:
7-4 前天是哪天 (20分)
本題目要求讀入年、月、日,然后判斷前天日期。
1.1.1數據處理:
數據處理:變量: y, m, d,都是整數型變量; y, m, d均是通過賦值法輸入得來的。
數據表達;多次運用if-else語句來將閏年,非閏年,前一月有31天的月,前一月為有30天的月等情況分開。
表達式;scanf("%d%d%d",&y,&m,&d);if(y%40),if(m5 || m7 || m10 || m12),else if(m4 || m6 || m8|| m9 || m11),else if(m2),else if(m3),rintf("%d-%d-%d",y,m,d-2);,printf("%d-%d-%d",y-1,m+11,d+29);printf("%d-%d-%d",y,m-1,d+27); printf("%d-%d-%d",y,m-1,d+28);等
流程結構:分支結構,順序結構。
1.1.2實驗代碼截圖:


1.1.3 造測試數據:

1.1.4 PTA提交列表及說明:

提交列表說明:額。。這個題用switch語句寫了倆小時一直沒理清思路,在PTA上也只運行測試過沒提交過,后面改用純if-else語句后一次就運行成功了,所以這個題是真的沒有錯誤案例。。。
1.2 題目名:
7-5 多分支表達-倍數問題 (50分)
鍵盤輸入1個正的整數A,如果A是3的倍數但不是5的倍數,則輸出A除以5的余數。如果A是5的倍數但是不是3的倍數,則輸出A除以3的余數。如果A既不是5的倍數但也不是3的倍數,輸出A除以15的余數
1.2.1 數據處理:
數據處理:變量有A,是整數型。起初的A為賦值,結尾的輸出為計算后的A。
數據表達:運用if-else語句將語句分成四份,分別對應四種情況。
表達式;scanf("%d",&A);if(A%1!=0),if(A%3!=0 && A%5!=0),if(A%30 && A%5!=0),if(A%3!=0 && A%50),printf("%d\n",A);
流程結構:分支結構,順序結構。
1.2.2 實驗代碼截圖:

1.2.3 造測試數據:

1.2.4 PTA提交列表及說明:

提交列表說明:只部分正確的原因是四種情況沒有考慮全,看題時只注意到前面三種,所以忽略了還有第四種的存在。
解決方法:提交后看到了第四種情況要求,於是在編程代碼中將其加入。
2.代碼互評(5分)
同學代碼截圖:
郭雷雨的截圖1:


郭雷雨的截圖2:

自己代碼截圖:
對應郭雷雨的截圖1:


郭雷雨對應的截圖2:

不同之處:
第一個截圖:她使用了switch語句,而我沒有使用,我只使用了if-else分支結構。
第二個截圖:她定義了倆郭整數型變量,而我只定義了一個變量,她的看起來更加通俗易懂,同時因為使用了倆個變量所以更容易對數據進行計算,而我的只運用了一個A一旦編譯時帶錯一點就好導致最終輸出的答案A計算錯誤。
3.學習總結(15分)
3.1 學習進度條(5分)

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

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

3.3.2 學習體會:
這周學會了使用switch語句,通過了PTA作業后又對自己的知識進行了一波加強,但在作業代碼要求行數增加到五六十行時運用的{}增多后,就有點大腦混亂不知道那個"{"是哪個對應"}"了同時自己的switch語句有必要增強
