一、本周教學內容&目標
第2章 用C語言編寫程序-函數 2.5 生成乘方表與階乘表。使學生對函數的定義和調用有初步的認識,能模仿編程。
二、
三、本周作業

1.1編寫函數fun,其功能是:判斷一個整數的各位數字平方之和能否被5整除,可以被5整除則返回1,否則返回0。
變量 |
變量來源 |
變量類型 |
n |
輸入 |
整形(int) |
m,sum |
隨n的變化而變化 |
整形(int) |
數據處理:
表達式:
①m=n%10;
②sum = sum+m*m;
③n=n/10;
流程結構:循環結構;分支結構;順序結構
主調函數:main()
被調函數: int fun( int n );
實參:n. 類型:整形(int)
形參:m, sum. 類型:整形(int)

輸入數據 |
輸出數據 |
說明 |
2 |
The result is 0 |
一位數 |
5 |
The result is 1 |
一位數 |
12 |
The result is 1 |
二位數 |
56 |
The result is 0 |
二位數 |
123 |
The result is 0 |
三位數 |
315 |
The result is 1 |
三位數 |

①部分正確:
問題:對於輸入的是幾位數考慮不全面,只考慮三位數的情況
方法:重新編寫程序
②編譯錯誤:
問題:沒找出來
方法:加幾個空格再次提交
③編譯錯誤:
問題:沒將題目審清楚,定義函數是直接嵌入的
方法:將前面一部分刪掉
1.2、本題要求實現一個函數,判斷任一整數是否為水仙花數(必須是三位數,且數的每一位上數字的立方和與數本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155則不是水仙花數。如果是水仙花數,則函數返回1,否則返回0.
數據表達:
變量 |
變量來源 |
變量類型 |
N |
輸入 |
整形(int) |
a,b,c,sum |
隨自變量變化而變化 |
整形(int) |
數據處理:
表達式:
①a=N%1000/100;
②b=N%100/10;
③c=N%10;
④sum=a*a*a+b*b*b+c*c*c;
流程結構:分支結構;順序結構
主調函數:main()
被調函數: func(const int N)
實參:N . 類型:整形(int)
形參:a, b, c, sum. 類型:整形(int)

輸入數據 |
輸出數據 |
說明 |
123 |
0 |
非水仙花數 |
153 |
1 |
水仙花數 |
266 |
0 |
非水仙花數 |
370 |
1 |
水仙花數 |
371 |
1 |
水仙花數 |
407 |
1 |
水仙花數 |
666 |
0 |
非水仙花數 |

問題:沒注意細節,立方弄成了平方
方法:將它變成立方
 ### 總的來說這一周的代碼大體還是相同的 ``` ❶與同學①代碼在求各位數的方法有點不一樣,同學在if語句中的寫法讓人明白是用什么來比較,而我則是多個變量。 ❷同學②使用了一個while的循環語句,可以清楚的求出各個位數,適用范圍比我這種方法廣泛。而我的只能實行三位數。 ```
### 3.1 學習進度條
周/日期 |
這周所花時間 |
代碼行 |
學到的知識點簡介 |
目前比較迷惑的問題 |
10.14~10.20 |
25小時 |
85 |
for循環語句使用 |
有些時候變量不是很清楚 |
10.21~10.27 |
3天 |
86 |
怎樣定義函數 |
有的函數體自己無法寫出 |
3.2累積代碼行和博客字數

3.3 學習內容總結和感悟

收獲:
❶知道怎樣定義函數
❷了解了實參與形參,主函數與被調函數
❸怎樣使用循環語句來求需要的東西
❹同一類型的題目要求不同方法就不同(如:輸入三位數與整數求各位數時,前者有兩種方法,而后一個要通過循環語句實現)
❤ 感悟: 從剛開始的擔心無法按時完成作業,到現在怎樣把作業做的更完美,這就是進步。熟能生巧,所以我們要多練習,才會進步更快。 |