這個作業屬於那個課程 | C語言程序設計II |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11555 |
我在這個課程的目標是 | 熟悉多分支結構switch語句的使用以及提高打字速度 |
這個作業在那個具體方面幫助我實現目標 | 能夠在盡量不問別人的前提下獨立完成PTA作業 |
參考文獻 | C語言程序設計,誇克 |
1.PTA實驗作業
我的排名:
1.1 題目名1
7-3 計算天數
本題要求編寫程序計算某年某月某日是該年中的第幾天。
輸入格式:
輸入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)給出日期。注意:閏年的判別條件是該年年份能被4整除但不能被100整除、或者能被400整除。閏年的2月有29天。
輸出格式:
在一行輸出日期是該年中的第幾天。
1.1.1數據處理
數據表達:用了days,year,month,day這些變量,year,month,day這些變量的值是由手動輸入,類型是整型。
數據處理:分支結構
switch(month){
case 1:days = 0;break;
case 2:days = 31;break;
case 3:days = 59;break;
case 4:days = 90;break;
case 5:days = 120;break;
case 6:days = 151;break;
case 7:days = 181;break;
case 8:days = 212;break;
case 9:days = 243;break;
case 10:days = 273;break;
case 11:days = 304;break;
case 12:days = 334;break;
}
if語句
if((year%4 == 0 && year%100 != 0)||year%400 == 0){
if(month > 2)
days = days+1;
}
printf("%d",days);
以及邏輯運算符:邏輯與&&,邏輯或||
1.1.2實驗代碼截圖
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
2019/03/08 | 67 | 該日期是該年中的第67天 |
2020/03/08 | 68 | 該日期是該年中的第68天 |
2021/03/08 | 67 | 該日期是該年中的第67天 |
2022/03/08 | 67 | 該日期是該年中的第67天 |
1.1.4 PTA提交列表及說明
答案錯誤:輸入語句中scanf("%d/%d/%d",&year, &month, &day)的%d/%d/%d之間不是用的/隔開,而是用的空格。多次嘗試之后才成功。
部分正確:switch語句中的switch后的表達式中用的不是常量表達式。
1.2 題目名2
7-5 多分支表達-倍數問題
鍵盤輸入1個正的整數A,如果A是3的倍數但不是5的倍數,則輸出A除以5的余數。如果A是5的倍數但是不是3的倍數,則輸出A除以3的余數。如果A既不是5的倍數但也不是3的倍數,輸出A除以15的余數。
輸入格式:
1個正整數
輸出格式:
如果是3的倍數但不是5的倍數,則輸出A除以5的余數。 如果A是5的倍數但是不是3的倍數,則輸出A除以3的余數。 如果A既不是5的倍數但也不是3的倍數,輸出A除以15的余數。 如果A不是正整數,沒有任何輸出。
1.2.1 數據處理
數據表達:用了A這些變量,這個變量的值是由手動輸入,類型是整型。
數據處理:if語句
if(A%3 == 0&&A%5 != 0){
printf("%d",A%5);
}
if(A%5 == 0 && A%3 != 0){
printf("%d",A%3);
}
if(A%5 != 0 && A%3 != 0){
printf("%d",A%15);
}
1.2.2 實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
9 | 4 | 9是3的倍數但不是5的倍數 |
10 | 1 | 10是3的倍數但不是5的倍數 |
22 | 7 | 22既不是5的倍數但也不是3的倍數 |
23 | 8 | 23既不是5的倍數但也不是3的倍數 |
1.2.4 PTA提交列表及說明
部分正確:printf后面沒有寫明要輸出啥。
編譯錯誤:printf中A%后沒有數字,沒有明確題目要求。
2.代碼互評
同學代碼截圖
自己代碼截圖
1.首先,還是我們寢室的這位大佬,代碼既簡短又正確,與眾不同。用到了新學的知識switch,非常厲害。
2.鄭九龍同學的代碼,額,基本和我一樣吧,但我沒有抄他的哦,我是自己做的,不過我的if語句沒有else,不知道可不可以
3.學習總結
3.1 學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第三周 | 四天 | 129 | for循環結構 | C語言運用的不熟練,博文編寫的時候很多功能不會,而且用的是Markdown,和TinyMCE不同,Markdown有很多東西都沒有,對我來說不是那么的方便 |
第四周 | 三天 | 135 | 自定義函數 | 打字還是不太熟練,太慢了,寫的代碼往往運行成功了自己卻不知道啥意思,是咋運行的,只知道拿着書了翻 |
第五周 | 三天 | 111 | 分支結構 | 老是需要翻書問別人,弱爆了,啥時候是個頭啊 |
第六周 | 三天 | 122 | switch語句 | 不是特別清楚switch到底啥情況下用,不能夠在題目一出現時就知道該用啥語句 |
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結
3.3.2 學習體會
本次的PTA作業真的把我給嚇到了,前幾題還好,不過對我來說還得花點時間才能做的出來,不過第四題就真的難倒我了(不過我也不會寫),嗯,還要多多加油,爭取能不掛科!加油!