C++ 程序:创建带参数和返回值的函数
任何使用函数的编程语言的代码都更加简单、模块化,并且在调试的同时更容易修改。函数是模块化代码中一个非常有益的组成部分。函数能够接受参数并输出结果。函数不一定要接受输入,也不一定要总是产生结果。有很多情况下,函数只接受少量输入,并且不返回任何内容。不会总是响应,也不会容忍争议。本文将解释如何创建使用函数的 C++ 程序,这些函数接受多个参数并在处理后产生结果。
带参数和返回值的函数
要定义一个这样的函数,它带有一些参数并向调用函数(调用函数是调用我们函数以执行某些操作的函数)返回一个值,则返回类型必须是特定类型(而不是 void),并且参数列表中必须有一个给定的参数列表。
语法
<return type> function_name ( <type1> argument1, <type2> argument2, … ) { // function body }
在下面的示例中,我们将数字作为参数传递,然后计算给定数字的阶乘,并返回结果。让我们看看 C++ 中的算法和实现。
算法
- 定义一个函数 factorial(),它将 n 作为参数
- fact := 1
- 当 n > 1 时,执行以下操作:
- fact = fact * n
- n = n - 1
- 循环结束
- 返回 fact
- 函数体结束
- 调用 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 作为参数
- sum := 0
- temp = n;
- 当 n > 0 时,执行以下操作:
- rem := n mod 10
- sum := (sum * 10) + rem
- n := floor of (n / 2)
- 循环结束
- 如果 sum 与 temp 相同,则
- 返回 true
- 否则
- 返回 false
- 结束 if 语句
示例
#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
结论
在编写代码时使用函数可以使代码模块化,并且在调试或使用其他人的代码时有很多优势。函数有不同的模式,有时从调用函数中获取参数并向调用函数返回结果。有时它不接受任何输入,但会返回值。在本文中,我们通过几个示例了解了如何编写既接受参数又向调用函数返回值的函数。使用函数非常简单易于实现。在编写代码时始终使用函数以减少许多应用程序中不必要的代码重复。
广告