利用递归函数编写程序实现1-100各自然数之和。 函数接口定义: int add(int n); 其中 n 是用户传入的参数。 函数用递归法实现1-100各自然数之和。 裁判测试程序样例: #include <stdio.h> int add(int n); int main() { int n=100; printf("1+2+3+...+100=%d",add(n)); return 0; } /* 请在这里填写答案 */
时间: 2023-11-27 19:55:25 浏览: 89
以下是递归实现1-100自然数之和的代码:
```c
int add(int n) {
if (n == 1) { // 递归终止条件
return 1;
} else {
return n + add(n-1); // 递归调用
}
}
```
解释一下:在递归调用过程中,每次函数调用都会把问题规模缩小一些,直到达到递归终止条件,然后开始逐层返回结果,最终得到整个问题的解。在这个例子中,递归终止条件是当 `n` 等于 1 时,直接返回 1;否则就返回 `n` 和 `add(n-1)` 的和。这样,每次调用 `add` 函数时,都会将问题规模缩小为原来的一部分,直到递归终止条件被满足。最终,将所有结果相加,就得到了 1-100 各自然数之和。
阅读全文