| 這個作業屬於哪個課程 | C語言程序設計II |
|---|---|
| 這個作業要求在哪里 | C語言I作業05 |
| 我在這個課程的目標是 | 熟悉主調函數與被調函數,自定義函數的調用 |
| 這個作業在那個具體方面幫助我實現目標 | PTA作業讓我在函數調用方面更加熟悉了解 |
| 參考文獻 | C語言程序設計,百度 |
1.PTA作業
1.PTA實驗作業
1.1判斷一個整數的各位數字平方之和能否被5整除
內容:編寫函數fun,其功能是:判斷一個整數的各位數字平方之和能否被5整除,可以被5整除則返回1,否則返回0。
1.1.1數據處理
數據表達:用了sum,result變量,+=代表累積求和
數據處理:sum+=n%10n%10,n=n/10,sum%5==0(用於判斷是否能被5整除)用while語句進行循環,if-else進行判斷*
函數參數:int main() 為主調函數;int fun( int n ) 為被調函數;整型;實參為sum,result;形參為n,都為整型
1.1.2實驗代碼截圖

1.1.3造測試數據
| 輸入數據 | 輸出數據 | 說明 |
|---|---|---|
| 輸入數據 | 輸出數據 | 說明 |
| 234 | The result is 0 | 這個數字各位數平方之和不能被5整 |
| 235 | The result is 1 | 這個數字的個位數平方之和可以被5整除 |
| 230 | The result is 0 | 這個數字各位數平方之和不能被5整 |
| 225 | The result is 1 | 這個數字的個位數平方之和可以被5整除 |
1.1.4PTA提交列表及說明

提交列表說明:
1.編譯錯誤:忘了對sum取余了,%5沒有打上去
2.編譯錯誤:sum=0與result之間沒有逗號,只有空格
3.編譯錯誤:慣性思維將return result輸入成return 0
4.編譯錯誤:在fun(int n)后面加了“;”
1.2水仙花數判斷
內容:要求實現一個函數,判斷任一整數是否為水仙花數(必須是三位數,且數的每一位上數字的立方和與數本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155則不是水仙花數。如果是水仙花數,則函數返回1,否則返回0。
1.2.1數據處理
數據表達:運用變量a,b,c,其中a在百分位,b在十分位,c在個位
數據處理:用aaa+bbb+ccc求出這個數,與N作比較
函數參數:主調函數為int main() ;被調函數為int func(const int N),整型;實參為a, b,c;形參為N;a,b,c,M都為整型
1.2.2實驗代碼截圖

1.2.3造測試數據
| 輸入數據 | 輸出數據 | 說明 |
|---|---|---|
| 輸入數據 | 輸出數據 | 說明 |
| 222 | 0 | 是三位數,但數的每一位上數字的立方和與數本身不相等 |
| 153 | 1 | 是三位數,且數的每一位上數字的立方和與數本身相等 |
1.2.4PTA提交列表及說明

提交列表說明:
1.編譯錯誤:當時在晚上比較累,把“int”中的“t”漏掉了
2.編譯錯誤:因為直接復制題目中的代碼,分號";"沒有去掉
**3.部分正確:將三次方看成了二次方,導致部分錯誤 **
2.代碼互評
自己的代碼

別人的代碼

1.定義的變量不同,我只有3個變量,他的有5個,我的相對簡單點
2.他用了pow(x,n)冪函數求a,b,c三次方,而我是用aaa的方式,他的更加清楚一點
3.都用了if-else語句,只是表達式不同,我是直接代入,而他用令result=pow(a,3)+pow(b,3)+pow(c,3)
自己的代碼

別人的代碼

1.變量不同,我用的是sum,result,他用t,result
2.我們都用了while語句,但是在結構上不同,感覺他的比較簡潔
3.他還用了scanf()函數
3.學習總結
3.1學習進度條
| 周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
|---|---|---|---|---|
| 第六周 | 20h | 60 | 用WinGW-w64來編譯C程序 | 文檔真的打不開,可能是電腦原因 |
| 第七周 | 10h | 90 | 關系運算,if-else語句,格式化輸入語句scanf() | 隨着作業增多,符號開始熟悉 |
| 第八周 | 8.5h | 80 | for的循環語句,指定次數的循環程序設計 | 不太會文字與數學的轉換 |
| 第九周 | 8h | 100 | 函數的調用和定義的初步認識 | 對於復雜的編程還是不會,自定義函數不太理解 |
3.2累積代碼行和博客字數

3.3學習內容總結和感悟
3.3.1學習內容總結

3.3.2學習體會
1.時間比較緊,不能專門花大量時間去學習
2.上課的例子比較簡單,作業中需要自己去網上找資料,或者詢問同學、學長
3.可能我對這方面不太敏感,做作業比較慢,還要去向同學求助
4.書上的東西有一定的局限性,得向百度求助
5.同學的時間也是寶貴的,能自己弄懂的,就盡量少問
6.咨詢一下別人的學習方法,可以去嘗試一下
7.在社團知道while的用法,感覺挺棒的
