正数 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()
函数。