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