C语言使用递归计算自然数之和的程序

要理解这个示例,您应该了解以下 C 编程 主题


正数 1, 2, 3... 被称为自然数。下面的程序从用户那里获取一个正整数,并计算到给定数字的总和。

访问此页面以查找使用循环计算自然数之和的方法


使用递归计算自然数之和

#include <stdio.h>

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

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

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

在从 addNumbers() 调用 addNumbers() 的下一次函数调用中,传递了19,它被加到 addNumbers(18) 的结果中。这个过程一直持续到 n 等于0

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

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战