這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/CST2020-2 |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11635 |
這個作業的目標 | 掌握各種類型函數的定義、調用和申明,熟悉變量的作用域、生存周期和存儲類型 |
學號 | 20208974 |
1.PTA實驗作業(20分/題)
1.1 題目名1:6-2 統計各位數字之和是5的數 (20分)
題目內容描述:本題要求實現兩個函數:一個函數判斷給定正整數的各位數字之和是否等於5;另一個函數統計給定區間內有多少個滿足上述要求的整數,並計算這些整數的和。
1.1.1數據處理
數據表達:用了t,s,i,c,a,b這6個變量,范圍是從a到b,t是各位數的值,s是各位數的和,用s來決定返回1還是0,所有的變量均為整形。
數據處理:數據用到的表達式有t=number%10;s+=t;number=number/10;c++;s+=i,流程結構有while循環,if-else語句,for循環。
1.1.2實驗代碼截圖
1.1.3 造測試數據
1.1.4 PTA提交列表及說明
編譯錯誤:函數格式的一些要求,沒有注意,比如函數聲明沒有加分號。
部分錯誤:在計算滿足要求的數字之和和整數之和的判斷出錯,if(is(i)){},這里出錯。
1.2 題目2:7-2 特立獨行的幸福 (25分)
題目描述:對一個十進制數的各位數字做一次平方和,稱作一次迭代。如果一個十進制數能通過若干次迭代得到 1,就稱該數為幸福數。1 是一個幸福數。此外,例如 19 經過 1 次迭代得到 82,2 次迭代后得到 68,3 次迭代后得到 100,最后得到 1。則 19 就是幸福數。顯然,在一個幸福數迭代到 1 的過程中經過的數字都是幸福數,它們的幸福是依附於初始數字的。例如 82、68、100 的幸福是依附於 19 的。而一個特立獨行的幸福數,是在一個有限的區間內不依附於任何其它數字的;其獨立性就是依附於它的的幸福數的個數。如果這個數還是個素數,則其獨立性加倍。例如 19 在區間[1, 100] 內就是一個特立獨行的幸福數,其獨立性為 2×4=8。另一方面,如果一個大於1的數字經過數次迭代后進入了死循環,那這個數就不幸福。例如 29 迭代得到 85、89、145、42、20、4、16、37、58、89、…… 可見 89 到 58 形成了死循環,所以 29 就不幸福。本題就要求你編寫程序,列出給定區間內的所有特立獨行的幸福數和它的獨立性。
1.2.1 數據處理
數據處理:用了m,n,c,num[10001],flag[10001],pri[10001]這6個變量,其中m,n是通過輸入得到的,c是遞加的數,剩下三個用來計數,6數均為整型。
數據表達:表達式有sum += (t % 10) * (t % 10);t /= 10;}t = get(sum);for(int j = i * i;j <= 10000;j += i) {pri[j] = 1;}}num[1] = 0;流程結構有if結構,for循環,while循環。
1.2.2 實驗代碼截圖
1.2.3 造測試數據
1.2.4 PTA提交列表及說明
編譯錯誤:之前沒理解好題意,邏輯錯誤並且少打了一個“;”。
2.代碼互評(5分)
A同學代碼:
B同學代碼:
我的代碼截圖:
1.我們用的都是for循環中包含if語句,以及while循環中包含if語句,不同之處在於我們用的變量不同。
2.B同學與我的思路差不多,不過他的代碼更詳細,更容易讓人理解,我應該向他學習。
3.A同學則直接把具體的大范圍寫出,考慮的更全面,很有的大局觀,值得學習。
3.學習總結(15分)
3.1 學習進度條(5分)
3.2 累積代碼行和博客字數(5分)
3.3 學習內容總結和感悟(5分)
3.3.1 學習內容總結
3.3.2 學習體會
1.上課認真聽講,多看看教材,多動手操作。
2.學會用多種不同的方法寫代碼,嘗試自己刷題,當一道題思考了很久沒有結果時,可以查資料看答案,看看自己哪里沒有想到和不足的,體會做題的方法和技巧,模仿那些優秀的代碼。
3.上課做過的題或是自己的練習已經懂了題,一定要復習。要學會歸納總結學過的知識點。
4.多記單詞,提高閱讀代碼的速度。
5.自己要學會總結,這樣可以更透徹的了解自己有多少儲蓄量,才能更高效的完成作業。