C語言l博客作業04


這個作業屬於哪個課程 C語言程序設計ll
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11489
我在這個課程的目標是 了解函數的定義和調用
這個作業在那個具體方面幫助我實現目標 熟練掌握函數的使用,了解如何制作思維導圖
參考文獻 C語言程序設計,C Primer Plus(第六版),百度,markdown語法

1.PTA實驗作業

從PTA題目集中選出2個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題20分(每項5分),內容要求如下:

1.1(7-2)求組合數

題目內容描述:本題要求編寫程序,根據公式\(C=\frac{n!}{m!(n−m)!}\)算出從n個不同元素中取出m個元素(m≤n)的組合數。
建議定義和調用函數fact(n)計算n!,其中n的類型是int,函數類型是double。

1.1.1數據處理

·數據表達:用了i,m,n,result變量。其中i,m,n為整型變量,分別用於作為中間變量和輸入的參數;result為雙精度浮點型變量,作為最終的組合數
·數據處理:運用了for語句,使用了自定義函數,順序結構。表達式為result=fact(n)/(fact(m)*fact(n-m))
·函數參數:主調函數為int main(),被調函數為double fact(int n),為double型。實參名稱:n,m,result,類型:n,m為int型,result為double型,形參名稱i, product,類型:i為int型, product為double型。

1.1.2實驗代碼截圖

1.1.3 造測試數據

輸入數據 輸出數據 說明
2 7 21 樣例 從7個不同元素中取出2個元素,m<n
3 4 4 從4個不同元素中取出3個元素,m<n
2 8 28 從8個不同元素中取出2個元素,m<n
6 6 1 從6個不同元素中取出6個元素,m=n
4 3 0 m>n

1.1.4 PTA提交列表及說明


提交列表說明:
1.編譯錯誤:對自定義函數不太理解,沒有聲明自定義函數。解決辦法是在頭文件下定義一個函數。
2.編譯錯誤:定義函數double fact(int n)后的分號忘記打。解決辦法在后加上分號。
3.答案錯誤:表達式result寫錯,直接寫成了result=fact(n)。解決辦法將表達式改為result=fact(n)/(fact(m)*fact(n-m))。
4.多種錯誤:最后一個}忘記打,解決辦法在最后加上}

1.2 (7-3) 求冪之和

題目內容描述:本題要求編寫程序,計算\(sum=2^1+2^2+2^3+\cdots+2^n\)可以調用pow函數求冪。

1.2.1 數據處理

·數據表達:用了i,n,power,result變量。其中i,n為整型變量,power,result為雙精度浮點型變量。n是由用戶輸入的值,i從初始值隨循環不斷加一,sum和result都與其他變量所共同決定。
·數據處理:運用了for循環,表達式為power=pow(2,i); result=result+power。
·函數參數:主調函數為int main(),為整型,被調用函數為#include<math.h>。實參名稱:i,n,類型為整型;形參名稱:power,result,類型為double型。

1.2.2 實驗代碼截圖

1.2.3 造測試數據

輸入數據 輸出數據 說明
5 result=62 樣例
6 result=126 n<10
0 result=0 n=0為最小值
10 result=2046 n=10為最大值
11 result=4094 n>10

1.2.4 PTA提交列表及說明


提交列表說明:
1.答案錯誤:result未進行定義。解決方法:在主函數前將result進行定義。
2.格式錯誤:result等於號前后沒有打空格。查找了好久沒有找出來,不知道為什么格式錯誤,最后詢問了同學才知道,要在等號兩邊打空格。解決辦法在result等號前后加上空格。

2.代碼互評

同學代碼截圖:

自己代碼截圖:

1.習慣定義的變量不同,同學定義的是sum,而我定義的是product。
2.同學的代碼只運用到了一次for循環,而我的代碼用了兩次for循環。只使用一次減少了代碼行數,更簡潔明了,能使自己和他人更容易懂。

同學代碼截圖:

自己代碼截圖:
!

1.同學的代碼排版十分簡潔精煉,看起來很舒服,容易明白,而我的比較復雜。
2.同學定義變量比較清晰明確,用字母表示比較簡單,檢查時思路能夠很清晰,值得我學習。
3.同學的代碼使用了自定義函數,調用了函數define M(a),define Sum,,表示明確,我的沒有調用這些函數。

3.學習總結

3.1 學習進度條

周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第八周/10.19~10.25 15小時 150行 在屏幕上顯示Hello World!學會了怎樣用PTA進行寫代碼作業,學會了markdowm語法
第九周/10.26~11.1 12 小時 350行 求華氏溫度對應的攝氏溫度 常量,變量和數據類型 知道以后要怎樣向別人提問 變量問題,輸入輸出格式
第十周/11.2~11.8 20小時 460行 for循環,if else語句 對於&的用法不了解,輸出時保留幾位小數
第十一周/11.9~11.15 17小時 440行 生成乘方表和階乘表,對函數定義和調用,思維導圖 目前不太熟練,調用函數不太理解

3.2 累積代碼行和博客字數

3.3 學習內容總結和感悟

3.3.1 學習內容總結

3.3.2 學習體會

本周學習了生成乘方表和階乘表,自定義函數,學會了制作思維導圖。學到后面越來越難,現在學到的函數感覺比以前難得多,需要花費比以前更多的時間和精力。遇到的問題也越來越多,但在不斷的學習過程中可以發現自己很多的不足,就會努力地去解決並從中收獲到許多東西,不斷地鍛煉自己。這周c語言作業花的時間較多,但效率不高,目前基礎不牢固,我需要提高學習效率,將基礎打牢,在編程中需要更加仔細,有不懂得地方要積極詢問他人,還要更努力,做到更好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM