C語言I部落格作業04

北辰陌發表於2020-11-11
這個作業屬於哪個課程 C語言程式設計ll
這個作業要求在哪裡 https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11491
這個作業的目標 學會自己定義函式,並使用函式解決問題
這個作業在哪個具體方面幫助我實現目標 使我可以使用我想要的函式去解決問題,給了我出發的方向
參考文獻 百度和同學的部落格

1.作業

1.1題目1
用函式程式設計計算兩個整數的最大值,在主函式中呼叫該函式計算並輸出從鍵盤任意輸入的兩整數的最大值。

輸入格式:
使用者從鍵盤任意輸入的兩個整數,以空格分隔。

輸出格式:
兩個整數中的最大值
1.1.1 資料處理

資料表達:我用到了變數有x,y,c。x和y通過scanf函式輸入,c只是一個一個工具。型別為整型。
資料處理:表示式有c=max(x,y)  c=x   c=y  。流程結構簡單分支結構。
**函式引數:主調函式為int main(),被調函式為int max(int x,int y),被調函式為整型。實參與形參為整型,形參實參名稱分別int x;int y為x,y。**

1.1.2 實驗程式碼截圖

1.1.3 造測試資料

輸入 輸出
3 4 4
5 6 6
10 9 9
0 1 1

1.1.4 PTA提交列表及說明

說明我在提交前出現的錯誤
1.編譯錯誤:在scanf函式中忘記使用&符號

1.2 題目2
本題要求編寫程式,根據公式C
​n
​m
​​ =
​m!(n−m)!

​n!
​​ 算出從n個不同元素中取出m個元素(m≤n)的組合數。

建議定義和呼叫函式fact(n)計算n!,其中n的型別是int,函式型別是double。

輸入格式:
輸入在一行中給出兩個正整數m和n(m≤n),以空格分隔。

輸出格式:
按照格式“result = 組合數計算結果”輸出。題目保證結果在double型別範圍內。
1.2.1

資料處理:使用的變數有m,s,n,i,a,m,n直接通過scanf函式輸入。s,a,i賦值。m,n,i為整型,其他為浮點型。
資料表達:表示式有s=fact(n) /(fact(m) * fact(n-m) )。流程結構為循序結構。
**函式引數:主函式int main()。被調函式double fact(int n),型別為浮點型。實參和形參名稱,型別分別為fact(n) /(fact(m) * fact(n-m) 浮點型;int main() 整型。

1.2.2 實驗程式碼截圖

1.2.3 造測試資料

輸入 輸出
2 4 result=6
3 8 result=56
2 9 result=36

1.2.4 PTA提交列表及說明

提交一次正確以下是在提交前出現的錯誤
1.編譯錯誤:在函式定義時double fact(int n)後面出現了分號。
2.格式錯誤:輸出答案的result=;=號兩邊沒有打空格符號,不符合輸出格式
3.答案錯誤:公式寫錯了,把n-m寫反了

2.程式碼互評(5分)

找2份同學程式碼,和自己程式碼比較,建議互評程式碼儘量找程式碼風格差異較大。

同學程式碼截圖

自己程式碼截圖

1,2,3方式羅列2份程式碼不同地方。

  • 1.前面一位同學使用了if-else語句,另一位只使用了if,而我的也使用了if-else
  • 2.有一位同學沒有使用自定義函式,而我們使用了自定義函式
  • 3.每一份程式碼都有自己的思路和優點,都可以互相借鑑,相互學習,取長補短。

3.學習總結(15分)

3.1 學習進度條(5分)

周/日期 這周所花的時間 程式碼行 學到的知識點簡介 目前比較迷惑的問題
11/11.9—11.11 6h 300 學會自定義函式 思路不夠清楚

3.2 累積程式碼行和部落格字數(5分)

3.3 學習內容總結和感悟(5分)
3.3.1 學習內容總結

3.3.2 學習體會

  • 確實正如老師所說,現在接觸的東西,難度慢慢地在加深。這次我們初步接觸自定義函式,我感覺我還有很多不足的地方
  • 在做題之前,我建議可以先把題目看懂,先理清思路和邏輯關係,不要盲目下手做題,這樣往往出現錯誤
  • 我們在遇到不會的概念時,可以多通過大學慕課學習
    請回顧自己的本週的學習過程,描述學習感受,也可以提出你不理解的地方、對教師教學建議等。如果你有新的想法或者新的方法,請及時記錄下來。

相關文章