| 這個作業屬於那個課程 | C語言程序設計II |
|---|---|
| 這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9826 |
| 我在這個課程的目標是 | 學習了自定義函數,以及求階乘 |
| 這個作業在那個具體方面幫助我實現目標 | 教會了我怎么定義函數來解決問題 |
| 參考文獻 | C語言程序設計,百度 |
1.PTA實驗作業(20分/題)

1.1 6-1 判斷一個整數的各位數字平方之和能否被5整除 (10分)
題目內容:題目內容描述:編寫函數fun,其功能是:判斷一個整數的各位數字平方之和能否被5整除,可以被5整除則返回1,否則返回0。函數接口定義:int fun(int n),其中 n 是用戶傳入的參數。 函數判斷n的各位數字平方之和能否被5整除,能被5整除則返回1,否則返回0。
1.1.1數據處理
數據表達:定義了m,n,s三個整型變量,然后用scanf函數對m賦值,其中 n 是用戶傳入的參數,開始令s=0,然后用過取余符號%輸入判斷,然后返回給s。
數據處理:使用公式s += (n % 10) * (n %10),其中的%就是取余符號,在其中還運用了while,if-else,的語句,當用戶輸入n,若能被5整除則返回1,否則返回0。
函數參數:主調函數為main(),被調函數為fun()函數和scanf()函數,m,n是實參,s是形參。
1.1.2實驗代碼截圖

1.1.3 造測試數據
| 輸入數據 | 輸出數據 | 說明 |
|---|---|---|
| 12 | The result is 1 | 題目中的 |
| 15 | The result is 0 | 隨機值 |
| 42 | The result is 1 | 可以被5整除 |
1.1.4 PTA提交列表及說明

編譯錯誤:有個語句忘記打;
編譯錯誤:==少打一個,變成了賦值
**1.2 6-3 水仙花數判斷 **(10 分)
題目內容:本題要求實現一個函數,判斷任一整數是否為水仙花數(必須是三位數,且數的每一位上數字的立方和與數本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155則不是水仙花數。如果是水仙花數,則函數返回1,否則返回0.
函數接口定義:
int func(const int N);
其中N是用戶傳入的參數。N的值不超過int類型的范圍。如果參數N是水仙花數,則返回1,否則返回0。
1.2.1數據處理
數據表達:定義了a,b,c,三個整型變量,分別表示該三位數的個,十,百位上的數,增加一個冪函數,用於后面求和,還有求余符號%。
數據處理:使用了a=N%10;b=N/10%10; c=N/100;處理a,b,c, 運用if(N==pow(a,3)+pow(b,3)+pow(c,3))求數N各位數的立方和,若等於原數則函數返回1,否則返回0.
函數參數:主調函數為main(),被調函數為int func(), scanf()
1.2.2實驗代碼截圖

1.2.3 造測試數據
| 輸入數據 | 輸出數據 | 說明 |
|---|---|---|
| 153 | 1 | 題目中數據 |
| 370 | 1 | 其他水仙花數 |
| 155 | 0 | 非水仙花數 |
1.2.4 PTA提交列表及說明

編譯錯誤:這個挺容易,就是等號老是寫成=,應該是==
2.代碼互評(5分)
同學代碼

我的代碼

對比:該同學定義了sum求和符號然后運用了while,if-else語句進行判斷,然后進行輸出看這個數是不是水仙花數,感覺挺簡單的
而我的則是直接定義三個整型變量來表示該三位數的個,十,百位,然后利用if-else語句進行輸出就可以判斷了
同學代碼

我的代碼

對比:該同學運用了沒學過的do-while循環語句,而我只是簡單的while循環語句,然后我們都是運用了求余符號來求的,其它都沒什么大致區別
3.學習總結(15分)
3.1 學習進度條
| 周/日期 | 這周所花時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
|---|---|---|---|---|
| 5/22-5/25 | 3h | 140 | 基本的定義函數 | 實參,形參分布清 |
3.2 累積代碼行和博客字數

3.3 學習內容總結和感悟
請用思維導圖的形式將到目前為止所學的內容進行整理。

3.3 學習體會
經過這次作業我開始覺得PTA的作業是越來越難了,我們在寫PTA作業時也漸漸使用了老師沒有教過的知識,我覺得如果不自己往下學的話這些題目肯定是很難解決的,但是我在作業中也去發現了許多樂趣,像做表格什么的,還有思維導圖都是很好玩的,這樣在寫博客園的時候就不會覺得無聊了,現在學的函數很難,但是到后面我們也會習慣的,加油!
