重生之我在黑盒學編程10——原來程序還可以這樣寫

上期我們學完了簡單的string相關知識,這期我們學習用戶自定義函數

1. 用戶自定義函數一般形式

2. 函數聲明

3. 實參與形參

用戶自定義函數的一般形式:

求值類型 函數名(參數){

    代碼實現部分

}

函數聲明:

如果要將用戶自定義函數寫在主函數後面,則需要加函數聲明 一般形式:求值類型 函數名(參數);

將用戶自定義函數寫在主函數後面的時候,需要藉助函數聲明解決問題。 函數聲明的一般形式:求值類型 函數名(參數表);

注意: 1. 語句末尾的分號一定不能忘記

2. 參數表部分只寫數據類型即可

實際參數與形式參數

實參:調用函數時需要傳遞的參數

形參:定義用戶自定義函數時函數名後面的參數

用戶自定義函數的參數 當我們需要提供給用戶自定義函數一些信息以便於進行處理和計算時,可以通過 參數傳遞的形式解決問題。對於參數需要注意以下兩點:

1. 需要傳遞給用戶自定義函數的信息纔會放在參數中

2. 實參與形參在個數、順序、類型上需要保持一致,避免出現問題

下面我們來看題目

要求使用用戶自定義函數完成

題解:

代碼解釋:

用戶自定義函數 

函數聲明long long factorial(int n)定義了一個名爲factorial的函數,它接收一個整數參數n,返回一個long long類型的結果。

變量初始化long long result = 1;初始化結果爲1,因爲0!和1!都等於1。

循環計算for循環從1到n,每次將當前數字乘以累積結果。

返回結果:循環結束後返回計算得到的階乘值。

主函數

輸入std::cin >> n;從標準輸入讀取用戶輸入的整數n。

計算並輸出std::cout << factorial(n) << std::endl;調用factorial函數計算階乘並輸出結果。

程序結束return 0;表示程序正常結束。

關鍵點說明

  1. 數據類型選擇:使用long long存儲結果是因爲階乘增長極快,20!已經是一個很大的數(2432902008176640000)。

  2. 循環邏輯:從1乘到n,逐步累積結果,這是計算階乘的標準方法。

  3. 邊界處理:雖然題目保證1≤n≤20,但此代碼也能正確處理n=0的情況(0!=1)。

這個程序簡潔高效地解決了計算階乘的問題,符合題目要求。

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com