這個作業屬於那個課程 | C語言程序設計II |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/9828 |
我在這個課程的目標是 | 很好地理解調用函數的應用,進一步加深對c語言地學習 |
這個作業在那個具體方面幫助我實現目標 | 學習思維導圖的制作 |
參考文獻 | 《C語言程序設計》,思維導圖 |
一.PTA實驗作業
1.1 判斷一個整數的各位數字的平方之和能否被5整除
題目內容描述:編寫函數fun,其功能是:判斷一個整數的各位數字平方之和能否被5整除,可以被5整除則返回1,否則返回0。
1.1.1數據處理
數據表達:運用了sum,a兩個變量為整型變量,定義了sum初始值為0即sum=0。
數據處理:運用到了do-while循環語句和if-else語句,do-while循環結構為sum=sum+(n%10)*(n%10)和n=n/10。
函數參數:m為實參,sum和a為形參,都為整型參數,主調函數main(),被調函數fun(int n)類型為int型。
1.1.2實驗代碼截圖
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
12 | The result is 1 | pta樣例 |
123 | The result is 0 | pta樣例 |
15 | The result is 0 | ![]() |
1247 | The result is 1 | ![]() |
1.1.4 PTA提交列表及說明
多種錯誤:出現多種錯誤,答案錯誤,格式錯誤等。代碼較為紊亂,甚至自己都不能很好的看懂理解。 解決措施:重新梳理改正流程,仔細看書發現問題,認真檢查格式,循環語句的正確用法,幾乎差不多進行了一次重新編寫代碼才得出正確的結果。
1.2 水仙花數判斷
本題內容描述: 本題要求實現一個函數,判斷任一整數是否為水仙花數(必須是三位數,且數的每一位上數字的立方和與數本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155則不是水仙花數。如果是水仙花數,則函數返回1,否則返回0。
1.2.1 數據處理
數據表達:用了三個整型變量a,b,c,分別定義a=n/100;b=n/10%10;c=n%10。
數據處理:運用了if-else語句,if結構((aaa+bbb+ccc)==n)。
函數參數:主調函數為main(),被調函數為func(int n),都為int型,N為實參,a,b,c為形參都為整型。
1.2.2 實驗代碼截圖
1.2.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
153 | 1 //為水仙花數 | pta樣例 |
124 | 0 //不為水仙花數 | ![]() |
249 | 0 //不為水仙花數 | ![]() |
1.2.4 PTA提交列表及說明
答案錯誤:開始時第6行代碼為b=n/10,疏忽導致出現答案錯誤。
解決辦法:在c++編譯軟件中編譯運行后發現錯誤,及時改正。
二.代碼互評
代碼比較1:
同學的代碼 | 我的代碼 |
---|---|
![]() |
![]() |
代碼分析:
- 我與這位同學的代碼差別其實是挺大的,運用的語句就有區別,他運用了while循環語句而我沒有,我則是通過定義變量再使用if-else語句的方式來得出結果。可以說是兩種不同的解答方式,同時他對於while語句的理解是要好過於我的,值得我去學習。
代碼比較2:
同學的代碼 | 我的代碼 |
---|---|
![]() |
![]() |
代碼分析:
- 循環語句略有不同,我所使用的是仿照書中的do-while語句,他的較我的來說更加好理解,其次if-else語句中,他的更加簡潔。
三.學習總結
3.1 學習進度條
日期 | 這周所花時間 | 代碼行 | 學到的知識簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
10.22-10.26 | 8小時左右 | 90 | 調用函數的運用 | 還是很多時候循環體計算式不能寫對 |
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結
注:以上有部分內容是由參考百度搜索的資料改寫而來。
3.3.2 學習體會
- 已經是學習c語言的第五周了,逐漸地難度越來越大,難免會在學習的過程中越來越感到吃力,同時繁瑣的代碼十分讓我感到疲倦,尤其是此次的pta作業,十分令人眼花繚亂。到目前為止還是存在看一些復雜的代碼完全看不懂的情況,無非就是我對基礎的掌握還往往不夠,語句啊,數據類型等甚至是記都沒有記住,更別說怎么很好的運用,很多情況下作業是需要通過各種渠道的幫助才能夠完成。學習的過程很艱難,但我希望自己不要害怕這些困難,努力認真地去學。