C語言I部落格作業04

2022-06-03 15:42:15 字數 3590 閱讀 4259

這個作業屬於哪個課程

c語言程式設計]

這個作業的要求在**

《作業要求的鏈結》

我在這個課程的目標

《熟練掌握庫函式的呼叫,了解函式的定義和呼叫》

這個作業在哪個方面幫助我實現目標

《使自己對函式更加了解,改進自己的不足》

參考文獻

學號<20208922>

1.1使用函式求圓台體積

實現函式求圓台體積,定義並呼叫函式volume_tc(r_lower, r_upper, h)計算下底半徑為r_lower、上底半徑為r_upper、高度為h的圓台的體積,函式型別是double

1.1.1資料處理

資料表達:用了r_lower,r_upper,h,v。r_lower,r_upper,h這些變數,且都為雙精度浮點型別。由題目要求,而v是由這些變數計算而來的。

資料處理。用v= pi*h*(r_lower*r_lower+r_upper*r_upper+r_upper*r_lower) / 3表示式計算圓柱體積,

結構為順序結構。

函式引數:主調函式名稱是#include,被調函式名稱是double volume_tc()。主調函式和被調函式的型別都為double型,實參的名稱有r_lower、r_ypper、h,為duoble型,形參是v,為duoble型。

1.1.2實驗**截圖

1.1.3造測試資料

輸入資料

輸出資料

說明10 30 5

v=6806.78

長、寬、高分別為10、30、5

10 5 5

v=916.30

長、寬、高分別為10、5、5

7 8 9

v=1592.49

長、寬、高分別為7、8、9

1.1.4pta提交列表及說明

提交列表:

提交列表說明:

編譯錯誤:在定義double v時;定義成了duoble r_lower,r_epper,v;導致重複定義編譯錯誤。return v;也寫成了return 0;

1.2 求組合數

(1).根據公式算出從n個不同元素中取出m個元素(m≤n)的組合數。建議定義和呼叫函式fact(n)計算n!,其中n的型別是int,函式型別是double。

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

(3).按照格式「result = 組合數計算結果」輸出。題目保證結果在double型別範圍內。

1.2.1資料處理

資料表達:自定義函式fact(int n),同時定義m、n兩個整型函式,sum雙精度浮點函式,把sum定義成雙精度浮點函式的用意是擴大他的取值範圍,避免輸出值超出範圍影響結果。

資料處理:自定義fact(int n)函式,利用for迴圈for(int i=1;i<=n;i++){

sum = sum*i;計算m、n階乘的值,然後是函式返回到int main()函式中執行result = fact(n)/(fact(m)*fact(n-m)),最後輸出結果。

實驗引數:主調函式為int main(),被調函式為fact(int n),被調函式型別為double型,實參i、m、n為整形,形參sum、result為雙進度浮點型。

1.2.2實驗**截圖

1.1.3造測試資料

輸入資料

輸出資料

說明2 7

21m為2,n為7,滿足m

3 856

m為3,n為8,滿足m

9 60

m為9,n為6,不滿足m

1.1.4pta提交列表及說明

提交列表:

提交列表說明:上節課老師又說怎麼做這個程式設計,但由於聽的不是很懂,便把老師最後說的話誤以為需要用三個double fact(int n)分別計算m!、n!、n!-m!的值,然後再用int main函式根據公式計算組合數,但一直程式設計錯誤,我不知道是這個想法不可以還是我哪個地方編譯錯了。最後室友告訴了我這種方法,頓時明白了自定義函式是怎麼用的,是什麼意思。

同學**截圖

我的**截圖

評價(1):第一位同學方法是自定義了fact(int n)函式,這種方法有時解題確實會比較方便,但在這裡卻是顯得有些複雜了,但是看了他的**後,確實也讓我學到了,學以致用,以後也可以多嘗試這種方法。

(2):第二位同學的方法與我大同小異,她用的是雙浮點精度變數,而我用的是整形變數。他那樣的好處是減少輸出值過大造成答案錯誤的可能性。

(3)我看了大多人的解決這個題的方法都如第二位同學一樣,雙浮點精度,for迴圈結構,第一位同學的解決方法基本沒有,故雖然我們學到的就要用起來,但是有時做題要快且**盡量簡便,才能讓人有看下去的心情。3.1學習進度條(5分)

周/日期

這週所花時間

**行學到的知識點簡介

目前比較疑惑的問題

第十一周

22小時

150自定義函式

自定義函式的呼叫規則

第十周24個小時

230for迴圈結構,數學常用函式與數學函式的呼叫標頭檔案的運用

呼叫不同函式不熟悉,不太清楚編譯

第九周22個小時

210算數運算和賦值運算

對輸出的不同形式不是很明白

第八周20個小時

180基礎常用**知識,整型變數,運算子的相關知識,markdown語法的運用

不同**記憶體占用問題

3.2累積**行和部落格字數(5分)

時間部落格字數

**行數

第八周1072

100第九周

1576

550第十周

3143

1200

第十一周

3.3學習內容總結和感悟

3.3.1學習內容總結

自己打**的數度有了很大提公升,但是自己直接思考解決問題的能力還是不夠強,經常要翻書、問同學。而且有時候編譯錯誤看不懂說的什麼,不知道**錯了,對程式設計的理解還不夠深,但是這周學了自定義函式之後,感覺很多問題都可以通過自定義函式來解決。

C語言I部落格作業04

問題 回答這個作業屬於 c語言程式設計 這個作業要求在 1 homework 9768 我在這個課程目標是 學習如何分析程式和除錯程式 這個作業在哪各方面幫助我實現目標 pta的作業,的分析 參考文獻 本題要求編寫程式,計算序列 1 1 3 1 5 的前n項之和。輸入格式 輸入在一行中給出乙個正整數...

C語言I部落格作業04

這個作業是屬於哪個課程 c語言程式設計ii 這個作業要求在 作業要求 我在這個課程的目標是 弄清楚for迴圈語句作用 這個作業在那個具體方面幫助我實現目標 應對不同的題目使用for語句 參考文獻 1.1.1資料處理 資料表達 int denominator,n,i double item,sum 定...

C語言I部落格作業04

問題答案 這個作業屬於那個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 熟練的運用與掌握計算機系統和c語言知識 這個作業在那個具體方面幫助我實現目標 打字能力和鍵盤符號熟練程度以及對資料的分析 參考文獻 pta系統常見問題解答 本題要求編寫程式,計算交錯序列 1 2 3 3 5 4...