如何用c语言实现:用递归方法求1+2+…+n的和。
时间: 2023-10-24 22:19:34 浏览: 60
可以使用如下的递归函数实现:
```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 到 %d 的和为:%d\n", n, s);
return 0;
}
```
这个函数 `sum(n)` 的含义是求 1 到 n 的整数之和。当 n 为 1 时,函数返回 1;否则,函数返回 n 加上 1 到 n-1 的整数之和,即 `n + sum(n-1)`。递归的结束条件是 n=1,这时直接返回 1。
相关问题
c语言作业:◆程序设计:用递归方法求1+2+...+ 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("请输入一个正整数:");
scanf("%d", &n);
printf("1 + 2 + ... + %d = %d\n", n, sum(n));
return 0;
}
```
这个递归函数的意思是,当 n 等于 1 时,返回 1;否则返回 n 加上前 n-1 个数的和,即 sum(n-1)。这样每次递归都会把问题的规模缩小,直到 n 等于 1 时停止递归。
用c语言递归方法求1+2+3+4+…+n
好的,让我来回答你的问题。求1到n的和可以用递归方法实现,具体实现如下:
```c
#include <stdio.h>
int sum(int n) {
if (n == 0) {
return 0;
} else {
return n + sum(n-1);
}
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("1到n的和为:%d\n", sum(n));
return 0;
}
```
以上代码实现了递归方法求1到n的和,其中sum函数用于递归调用,返回1到n的和。在main函数中,我们读入一个正整数n,调用sum函数求得1到n的和并输出。