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