正数 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。
最初,从
main()
调用
addNumbers()
并传入 20 作为参数。
将数字 20 添加到
addNumbers(19)
的结果中。
在从
addNumbers()
到
addNumbers()
的下一个函数调用中,传递了 19,将其添加到
addNumbers(18)。这个过程一直持续到 n 等于 0。
当
n 等于 0 时,没有递归调用。这最终将整数的总和返回给
main()
函数。