這個作業屬於那個課程 | C語言程序設計II |
---|---|
這個作業要求在哪里 | 作業的鏈接 |
我在這個課程的目標是 | 學習自定義函數 |
這個作業在那個具體方面幫助我實現目標 | 自定義函數幫助簡化程序結構 |
參考文獻 | 百度百科1,百度百科2 |
1.PTA實驗作業(20分/題)
從PTA題目集中選出2個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題20分(每項5分),內容要求如下:
1.1 題目名1
題目內容描述:本題要求實現一個函數,判斷任一整數是否為水仙花數(必須是三位數,且數的每一位上數字的立方和與數本身相等)。例如153=13+53+3^3=1+125+27=153,而1或155則不是水仙花數。如果是水仙花數,則函數返回1,否則返回0。
1.1.1數據處理
數據表達:定義了s n N,其中s n可變但N一旦賦值就無法更變,直至該函數結束。
數據處理:分為whlie if兩大部分,其中whlie用於實現計算if用來決定函數返回值。
**函數參數:主調函數:int main() 被調函數:int func(const int N)被調函數為整型,實參:s n(整型)形參:N(整型)**
1.1.2實驗代碼截圖
1.1.3 造測試數據
輸入 | 輸出 | 說明 |
---|---|---|
100 | 0 | 最小三位數 |
370 | 1 | 符合要求三位數 |
999 | 0 | 最大三位數 |
1.1.4 PTA提交列表及說明
提交列表說明:
1.編譯錯誤:const int N不可重新賦值,如果給N賦值則發生錯誤。
1.2 題目2
題目內容描述:編寫函數fun,其功能是:判斷一個整數的各位數字平方之和能否被5整除,可以被5整除則返回1,否則返回0。
1.2.1 數據處理
數據表達:定義了n m s都為整型。
數據處理:使用自定義函數計算與判段數據是否符合題目要求。
**函數參數:主調函數:int main()被調函數:int fun( int n ) 被調函數為整型,實參:s m(整型)形參:n(整型)**
1.2.2 實驗代碼截圖
1.2.3 造測試數據
輸入 | 輸出 | 說明 |
---|---|---|
666 | The result is 0 | 任意一三位數 |
6666 | The result is 0 | 任意一四位數 |
66666 | The result is 1 | 任意一五位數 |
1.2.4 PTA提交列表及說明
提交列表說明:
異常:雖然在上未出現錯誤,但在vs上運行s += (n % 10) * (n % 10);出現異常,原因則是沒有初始化數據。導致s出現隨機值導致異常。
2.代碼互評(5分)
同學代碼截圖
自己代碼截圖
不同點:
- 該同學用到了#include<math.h>里的pow求立方,而我只用了*來實現立方。
- 該同學取各位數用了分部賦值而我用的是循環賦值。
3.學習總結(15分)
3.1 學習進度條(5分)
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第四周 | 5h | 30 | ||
第五周 | 7h | 50 | ||
第六周 | 10h | 63 | ||
第七周 | 9h | 44 | 學習了if條件語句。 | |
第八周 | 9h | 56 | 學習了for循環,並了解了css。 | 對css的用法還不懂。 |
第九周 | 8h | 153 | 學習了自定義函數。 | 對函數返回值的路徑還有疑惑。 |
3.2 累積代碼行和博客字數(5分)
3.3 學習內容總結和感悟(5分)
3.3.1 學習內容總結
- 學習了自定義函數,把某個功能寫成函數,賦值應用。
- 學會了一些whlie的用法,和const int 鎖定賦值。
請用思維導圖的形式將到目前為止所學的內容進行整理。
3.3.2 學習體會
問題越來越難,而我感覺難的地方是有些題目意思難理解,編程要求也越來越高,但也能感覺到在進步(只是學會了用百度)。總的來說,此次編程開始需要思考了,也只有思考過才能解決問題。