首頁 >後端開發 >C++ >C++程式建立一個帶有參數和回傳值的函數

C++程式建立一個帶有參數和回傳值的函數

WBOY
WBOY轉載
2023-08-30 23:33:08701瀏覽

C++程式建立一個帶有參數和回傳值的函數

任何使用函數的程式語言都具有更簡單、更模組化並且在偵錯時更容易更改的程式碼。函數是模組化程式碼中非常有用的元件。函數接受參數和輸出結果的能力。函數不一定需要接受輸入並且始終產生結果。在許多情況下,函數只接受一些輸入並且不傳回任何內容。不總是回應,也不會容忍爭議。本文將解釋如何建立使用函數的 C 程序,函數接受多個參數並在處理後產生結果。

帶有參數和傳回值的函數

要定義一個帶有幾個參數的函數並向呼叫者函數傳回一個值(呼叫者函數是呼叫我們的函數來執行某些操作的呼叫者函數),返回類型必須是特定類型,而不是void ,且參數清單中必須有給定的參數清單

文法

<return type> function_name ( <type1> argument1, <type2> argument2, … ) {
   // function body
}

在下面的範例中,我們將數字作為參數傳遞,然後計算給定數字的階乘,並傳回結果。讓我們看看演算法和 C 中的實作。

演算法

  • 定義一個函數 Factorial(),它將以 n 為參數
  • 事實:= 1
  • 當 n > 1 時;做
    • 事實 = 事實 * n
    • n = n - 1
  • 結束
  • 返回事實
  • 結束函數體
  • 呼叫 Factorial() 並傳遞 n 來找出 n 的階乘

範例

#include <iostream>
using namespace std;

long factorial( int n ) {
   long fact = 1;
   while ( n > 1 ) {
      fact = fact * n;
      n = n - 1;
   }
   return fact;
}

int main()
{
   cout << "Factorial of 6 is: ";
   long res = factorial( 6 );
   cout << res << endl;
   cout << "Factorial of 8 is: ";
   res = factorial( 8 );
   cout << res << endl;
   cout << "Factorial of 12 is: ";
   res = factorial( 12 );
   cout << res << endl;
}

輸出

Factorial of 6 is: 720
Factorial of 8 is: 40320
Factorial of 12 is: 479001600

另一個使用函數檢查數字是否回文的範例。我們傳遞一個數字作為參數,當它是回文時,函數將傳回 true,當它不是回文時,函數將傳回 false。

演算法

  • 定義一個函數solve(),這將需要n
  • 總和:= 0
  • temp = n;
  • 當 n > 0 時,執行
    • rem := n mod 10
    • 總和 := (總和 * 10) rem
    • n := (n / 2) 的下限
  • 結束
  • 如果 sum 與 temp 相同,則
    • 返回真
  • 否則
    • 回傳錯誤
  • 如果結束

範例

#include <iostream>
#include <sstream>

using namespace std;
string solve( int n ) {
   int sum = 0;
   int temp = n;
   int rem;
   while( n > 0) {
      rem = n % 10;
      sum = (sum * 10) + rem;
      n = n / 10;
   }

   if( temp == sum ) {
      return "true";
   }
   else {
      return "false";
   }
}

int main()
{
   cout << "Is 153 a palindrome? " << solve( 153 ) << endl;
   cout << "Is 15451 a palindrome? " << solve( 15451 ) << endl;
   cout << "Is 979 a palindrome? " << solve( 979 ) << endl;
}

輸出

Is 153 a palindrome? false
Is 15451 a palindrome? true
Is 979 a palindrome? true

結論

在編寫程式碼時使用函數可以使程式碼模組化,並且在偵錯或使用別人的程式碼時有幾個優點。有不同的函數模式,有時從呼叫者函數取得參數並將結果傳回給呼叫者函數。有時它不接受任何輸入但會傳回一個值。在本文中,我們透過幾個範例了解如何編寫帶有參數以及向呼叫者函數傳回值的函數。使用函數非常簡單且易於實現。在編寫程式碼時使用函數總是好的,這可以減少許多應用程式中不必要的程式碼重複。

以上是C++程式建立一個帶有參數和回傳值的函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除