C語言I博客作業06


這個作業屬於哪個課程 C語言程序設計II
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11555
我在這個課程的目標是 熟悉多分支結構switch語句的使用,學習他人優秀的解題方法
這個作業在那個具體方面幫助我實現目標 做PTA上的作業,互評作業
參考文獻 C語言程序設計

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

1.1 計算天數

本題要求編寫程序計算某年某月某日是該年中的第幾天。

輸入格式:
輸入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)給出日期。注意:閏年的判別條件是該年年份能被4整除但不能被100整除、或者能被400整除。閏年的2月有29天。

輸出格式:
在一行輸出日期是該年中的第幾天。

輸入樣例1:
2009/03/02
輸出樣例1:
61
輸入樣例2:
2000/03/02
輸出樣例2:
62

1.1.1數據處理

數據表達:所用變量:year,month,day,a,b,c,y;這些變量的值的來源:year,month,day是用戶輸入的值;a,b,c分別是year/4,year/100,year/400取余的值,y是根據a,b,c,month的 
值以及表達式得出來的;類型:整型(int)。
數據處理:數據用到的表達式:a = year % 4,b = year % 100,c = year % 400,:y = day,y = 31 + day,y = 60 + day,y = 91 + day,y = 121 + day,y = 152 + day,y = 
182 + day,y = 213 + day,y = 244 + day,y = 274 + day,case 11:y = 305 + day,y = 335 + day,y = day,y = 31 + day,y = 59 + day,y = 90 + day,y = 120 + day,y 
= 151 + day,y = 181 + day,y = 212 + day,y = 243 + day,y = 273 + day,y = 304 + day,y = 334 + day;流程結構:選擇結構。

1.1.2實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
2009/03/02 61 該年年份能被4整除,不能被100和400整除
2000/03/02 62 該年年份能被4,100和400整除
2006/05/05 125 該年年份不能被4,100和400整除
2020/11/25 330 該年年份能被4整除,不能被100和400整除
1900/06/09 160 該年年份能被4和100整除,不能被400整除

1.1.4 PTA提交列表及說明

1.編譯錯誤:switch語句中case后的符號錯誤;
  解決辦法:剛開始還沒發現,仔細看書上的switch語句后發現case后的符號不是‘ ; ’而是‘ : ’,改完后又出現了部分錯誤;
2.部分錯誤:if語句的判斷符號錯誤;
  解決辦法:仔細檢查一遍后,發現在判斷相等時,將‘==’寫成了‘=’,后將其改正過來了,提交后答案顯示正確。

1.2 多分支表達-倍數問題

1.2.1 數據處理

數據表達:所用變量:A,x,y,z,a;這些變量的值的來源:A是用戶輸入的值;x,y,z分別是A/3,A/5,A/15取余的值;類型:整型(int)。
數據處理:數據用到的表達式:x = A % 3,y = A % 5,z = A % 15;流程結構:選擇結構。

1.2.2 實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
18 3 該數是3的倍數但不是5的倍數
20 2 該數是5的倍數但不是的倍數
13 13 該數小於15,且既不是3的倍數也不是5的倍數
26 11 該數大於15,且既不是3的倍數也不是5的倍數
-30 (沒有任何輸出) 該數不是正整數,且既是3的倍數又是5的倍數

1.2.4 PTA提交列表及說明

1.部分錯誤:在if語句中多了符號;
  解決辦法:這個錯誤找了很久,最后卻發現是一個很小的錯誤,if后的括號里多打了引號,當時因為那個括號里的和其他括號里的顏色標記不同就感覺奇怪,看了很久后才發現了問題, 
  改正后,顯示答案正確。

2.代碼互評(5分)

尹志成同學代碼截圖

鄭九龍同學代碼截圖

自己代碼截圖

1.尹志成同學解題時先是運用switch語句,再運用if-else語句來解題的,使后半部分簡便了許多,而我的大部分使用switch語句,表達式太多;
2.鄭九龍同學運用了if-else語句來解題,他所寫的使代碼簡便了許多,在考慮問題方面也更全面,我所寫的明顯長了一大串;
3.我運用了if-else語句和switch語句來解題的,我所寫的有一部分再改變一下或換一種方式解題應該可以更簡便些。

3.學習總結(15分)

3.1 學習進度條(5分)

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第三周 4天 156 for語句 在綜合表達式中,不知道為什么不能用"[ ]"
第四周 2天 169 函數的定義和調用 函數的定義和調用的格式不太懂
第五周 3天 192 分支結構if-else語句和字符型(char) 有同學作業中運用到的沒學過的知識不太理解
第六周 3天 278 選擇結構中的switch語句 解題時不能很快判斷出用if-else語句好些還是用switch語句好些

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

時間 博客字數 代碼行數
第一周 638 12
第二周 562 97
第三周 2058 156
第四周 1737 169
第五周 2520 192
第六周 1780 278

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

3.3.1 學習內容總結

3.3.2 學習體會

1、這周學了選擇結構中的switch語句,剛開始在做題的時候使用時,容易將case后的冒號打成分號;
2、在寫代碼的時候,有幾個地方容易出錯,比如在判斷時將==打成= ;
3、在之后的學習過程中,吸取之前出現的錯誤,多練多想,多學習他人優秀的解題方法。


免責聲明!

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



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