📜  C程序使用递归查找自然数之和

📅  最后修改于: 2020-10-04 11:35:56             🧑  作者: Mango

在此示例中,您将学习使用递归函数查找自然数之和。

正数1、2、3 …称为自然数。下面的程序从用户处获取一个正整数,然后计算得出给定数字的总和。

访问此页面可使用循环查找自然数之和。


使用递归的自然数之和
#include 
int addNumbers(int n);
int main() {
    int num;
    printf("Enter a positive integer: ");
    scanf("%d", &num);
    printf("Sum = %d", addNumbers(num));
    return 0;
}

int addNumbers(int n) {
    if (n != 0)
        return n + addNumbers(n - 1);
    else
        return n;
}

输出

Enter a positive integer: 20
Sum = 210

假设用户输入了20。

最初,从main()调用addNumbers()并传入20作为参数。

数字20被添加到addNumbers(19)的结果中。

在下一个从addNumbers()addNumbers() 函数调用中,将传递19并将其添加到addNumbers(18)的结果中。此过程一直持续到n等于0。

n等于0时,没有递归调用。最终将整数和返回给main() 函数。