c语言编写一个递归函数求1+2+3+…+n
时间: 2023-08-03 22:05:48 浏览: 144
好的,以下是 C 语言代码实现:
```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);
int s = sum(n);
printf("1+2+3+...+%d=%d\n", n, s);
return 0;
}
```
递归函数 `sum()` 的实现是求 $1+2+3+...+n$ 的关键。如果 `n` 等于 1,那么返回 1,否则返回 `n` 加上 `sum(n-1)`。在 `main()` 函数中,先读入 `n`,然后调用 `sum()` 函数计算 1 到 `n` 的和,并输出结果。
相关问题
编写递归函数,求1+2+3+……+n的值c语言代码
以下是求1+2+3+……+n的递归函数的C语言代码:
```
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n-1);
}
}
```
可以通过调用`sum(n)`函数来计算1+2+3+……+n的值。
用C语言编写函数,求1+3+5+7+...+99
以下是用C语言编写函数,求1+3+5+7+...+99的代码:
```c
#include <stdio.h>
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n - 2);
}
}
int main() {
int n = 99;
printf("1+3+5+7+...+99的值为:%d\n", sum(n));
return 0;
}
```
该函数使用递归的方式实现,每次递归时将n减2,直到n等于1时返回1,然后将每次递归的结果相加即可得到最终结果。
阅读全文