用c语言采用函数递归调用的方法计算sum=1+2+……+n
时间: 2023-10-24 20:10:41 浏览: 94
以下是用C语言递归调用函数计算1+2+...+n的代码:
```c
#include <stdio.h>
int sum(int n) { // 定义递归函数sum
if (n == 1) { // 递归结束条件
return 1;
} else {
return n + sum(n - 1); // 递归调用
}
}
int main() {
int n, result;
printf("请输入一个正整数n:");
scanf("%d", &n);
result = sum(n);
printf("1+2+...+%d=%d\n", n, result);
return 0;
}
```
代码执行流程:
1. 在主函数中输入一个正整数n;
2. 调用sum函数,将n作为参数传递给sum函数;
3. 在sum函数中,如果n等于1,返回1,否则返回n加上sum(n-1)的结果;
4. sum函数不断递归调用自身,直到n等于1;
5. 最终得到1+2+...+n的结果,返回给主函数;
6. 主函数输出结果。
相关问题
使用C语言求自定义递归函数,求1+2+3+……+n
下面是使用C语言实现的自定义递归函数,求1+2+3+......+n的和:
```c
#include <stdio.h>
int sum(int n) {
if (n == 1) { // 边界条件
return 1;
} else {
return n + sum(n-1); // 递归调用
}
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("1+2+3+...+%d=%d\n", n, sum(n));
return 0;
}
```
在上述代码中,`sum()`函数是递归函数,它的作用是求1+2+3+......+n的和。当`n=1`时,函数返回1;当`n>1`时,函数返回`n+sum(n-1)`,也就是n加上1到n-1的和。在`main()`函数中,首先从用户输入一个正整数n,然后调用`sum()`函数,将1到n的和输出到屏幕上。
用c语言自定义递归函数,求1+2+3+……+n。
可以使用以下代码来自定义递归函数实现求和:
```c
#include <stdio.h>
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n - 1);
}
}
int main() {
int n;
printf("请输入一个正整数 n:");
scanf("%d", &n);
printf("1+2+3+...+%d=%d\n", n, sum(n));
return 0;
}
```
首先定义一个 `sum` 函数,接收一个整数 `n` 作为参数,如果 `n` 等于 1,直接返回 1,否则返回 `n` 和 `n-1` 的和,其中 `n-1` 通过递归调用 `sum` 函数得到。在 `main` 函数中,读入一个整数 `n`,并输出 `1+2+3+...+n` 的结果。