多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# C++ 程序:使用递归查找自然数之和 > 原文: [https://www.programiz.com/cpp-programming/examples/natural-number-sum-recursion](https://www.programiz.com/cpp-programming/examples/natural-number-sum-recursion) #### 通过使用递归函数查找自然数之和的示例。 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: * [C++ 函数](/cpp-programming/function) * [C++ 中用户定义函数的类型](/cpp-programming/user-defined-function-types) * [C++ `if`,`if...else`和嵌套`if...else`](/cpp-programming/if-else) * [C++ 递归](/cpp-programming/recursion) * * * 正数 1、2、3... 被称为自然数。 下面的程序从用户处获取一个正整数,然后计算得出给定数字的总和。 您也可以使用循环来[查找自然数之和](/cpp-programming/examples/sum-natural-number)。 但是,您将在此处学习使用递归解决此问题的方法。 ## 示例:使用递归计算自然数之和 ```cpp #include<iostream> using namespace std; int add(int n); int main() { int n; cout << "Enter a positive integer: "; cin >> n; cout << "Sum = " << add(n); return 0; } int add(int n) { if(n != 0) return n + add(n - 1); return 0; } ``` **输出** ```cpp Enter an positive integer: 10 Sum = 55 ``` 在该程序中,用户输入的数字将传递到`add()`函数。 假设用户输入了 10。 现在,将 10 传递给`add()`函数。 此函数将 10 加到 9 的加法结果中(`10-1 = 9`)。 下次,将 9 加到 8 的相加结果中(`9-1 = 8`)。 当函数返回 0 时,此过程一直持续到数字达到 0 为止。 现在,将返回每个函数来计算最终结果:`1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55`。