問題 | 答案 |
---|---|
這個作業屬於哪個課程 | C語言程序設計 |
這個作業的要求在哪里 | 作業要求 |
我在這個課程的目標是 | 熟悉掌握c語言程序設計基本使用方法 |
這個作業在那個具體方面幫助我實現目標 | 熟悉代碼程序設計,學會熟悉多分支結構switch語句的用法、 |
參考文獻 | 《PTA程序設計類實驗平台》百度百科,WPS office,《簡書》,Xmind思維導圖,dev c++,知乎等 |
一.PTA實驗作業
1.1計算天數
本題要求編寫程序計算某年某月某日是該年中的第幾天。輸入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)給出日期。注意:閏年的判別條件是該年年份能被4整除但不能被100整除、或者能被400整除。閏年的2月有29天
1.1.1數據處理
(1.)數據表達:定義了year,month,day分別為年,月,日的整型變量,定義n意思為n個月份天數總和的整型變量,定義c來判斷為平年還是閏年。
(1.)數據處理:使用了swtich語句來處理分支問題,利用case n=n個月天數之和來算天數,再利用邏輯語句判斷是平年還是閏年來輸出。
(3.)函數處理:運用int main()的主調函數。
1.1.2實驗代碼截圖
1.1.3造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
2002/10/11 | 284 | 2002/10/11是該年中的第284天 |
2022/6/23 | 174 | 2022/6/23是該年中的第174天 |
2019/12/30 | 364 | 2019/12/30是該年中的第364天 |
1.1.4PTA提交列表及說明
1.答案錯誤:審題構思完成后在dev c++上試着編寫程序無錯誤無警告后在PTA上提交發現答案錯誤,從case 3開始月份天數算錯了。
2.答案錯誤:把檢查出的錯誤答案改正后,發現還是答案錯誤,查找幾遍發現將c=1錯寫成賦值的等於號c==1。
1.2 7-12統計學生成績
本題要求編寫程序讀入N個學生的百分制成績,統計五分制成績的分布。百分制成績到五分制成績的轉換規則:
大於等於90分為A;
小於90且大於等於80為B;
小於80且大於等於70為C;
小於70且大於等於60為D;
小於60為E。
1.2.1數據處理
(1.)數據表達:設置了A,B,C,D,E,N的題目給出的六個整型變量,定義了意思分別為分數grade,i,s等整型變量。
(2.)數據處理:利用s=grade/10表達式可將不同分數分別列入到A,B,C,D,E,N等級中。
(3.)函數處理:運用了int main()的主調函數。
1.2.2實驗代碼截圖
1.2.3造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
77 54 92 73 60 65 69 | 1 0 2 3 1 | 77分為C層次,54分為default層次,92分為A層次,73分為C層次,60分為D層次,65分為D層次,69為D層次。 |
66 77 88 99 33 55 44 | 1 1 1 1 3 | 66分為D層次,77分為C層次,88分為B層次,99分為A層次,33分,55分,44分都為default層次。 |
58 68 59 69 79 98 70 | Bike | 58分和59分都屬於default層次,68分和69分屬於D層次,79和70屬於C層次,98分屬於A層次。 |
1.2.4PTA提交列表及說明
1.編譯錯誤:定義變量錯誤,和后面編寫的變量對應不上
2.編譯錯誤:for循環后面不小心加了分號,寫進了大括號里面,在printf("%d %d %d %d %d",A,B,C,D,E);%d之間沒有打空格。
二.代碼互評論
我的代碼
同學代碼
- 區別:這位同學利用了先判斷是平年還是閏年再用兩個swtich分支語句將閏年和平年分開編寫,我的思路是先把日期輸入,按照是平年的月份天數規律利用一個swtich分支語句累加月份天數,然后再判斷年份是閏年還是平年,若是平年直接輸出,若是閏年,在原來算出天數基礎上+1。
- 總結和體會:我覺得這位同學的思路也挺好的,就是這樣編寫太過於復雜,代碼太長了,顯得不太簡潔,以后可以嘗試更簡單的方法哦!不過多一種方法多一種選擇,感受到了這個同學的認真態度,是值得我學習的地方。
三.學習
3.1學習進度條
周期/日期 | 這周所花時間 | 代碼行 | 學習到的知識點介紹 | 目前比較迷惑的問題 | 解決方式 |
---|---|---|---|---|---|
第一周 | 一個中午左右 | 20行左右 | 第一次使用博客園以及接觸PTA | 對於這門課程屬於懵懂狀態,僅僅只能明白字面意思。 | 網上百度查詢相關課程資料 |
第二周 | 兩個中午左右 | 30行左右 | 學會《智慧的提問》以及簡單的代碼數據分析 | 對於課程依舊陌生,但有了新的認識。 | 看c語言教材書籍 |
第三周 | 兩天左右 | 90行左右 | 學習了if-else語法,賦值運算,階梯價位計算等 | 遇到復雜的編程問題不知道如何開始。 | 在b站,慕課等平台觀看零基礎C語言入門課程 |
第四周 | 兩天左右 | 一兩百行左右 | 學會"for"循環語句的基本轉換方法以及如何對自己的代碼進行調試錯誤 | 對於整個程序編碼設計流程還不夠熟練,不能完全獨立完成,總是要尋求同學老師的幫助 | 反復編譯同一個題目,直到理解此題流程 |
第五周 | 三天左右 | 一兩百行左右 | 學會調用函數的使用,求函數階層等 | 對於整個程序編碼設計流程還不夠熟練,不能完全獨立完成,總是要尋求同學老師的幫助 | 觀看網課 |
第六周 | 三天左右 | 兩百多行 | 學會熟悉多分支結構、字符型數據類型和邏輯運算符 | 在每次寫PTA時尋找錯誤要找很久,更正很多遍才能正確,但相比以前構思時思路清楚很多 | 記憶邏輯運算符,字符型數據類型等字符 |
第七周 | 兩天左右 | 兩百行左右 | 學會使用swtich分支語句的使用,此次PTA作業都是用swtich語句編寫 | 在構思PTA作業時不能很快就清楚題目思路是什么,每個題目花的時間太久了 | 詢問同學的構思方法,加以學習。 |