用c语言。用递归的方法实现求1+2+3+4+…+n
时间: 2023-09-12 21:02:48 浏览: 54
可以使用以下代码来实现:
```c
#include <stdio.h>
int sum(int n) {
if(n == 1) { //如果n等于1,直接返回1
return 1;
} else {
return n + sum(n - 1); //否则递归调用函数本身
}
}
int main() {
int n;
printf("请输入一个整数n:");
scanf("%d", &n); //输入n的值
printf("求和的结果为:%d\n", sum(n)); //调用递归函数sum求和
return 0;
}
```
这个程序会提示用户输入一个整数n,然后用递归方法实现求1到n的和,并输出结果。递归函数sum中,如果n等于1,则直接返回1;否则将n与sum(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的和并输出。
C语言用递归实现1+2+3+...+n的和
以下是C语言用递归实现1+2+3+...+n的和的代码和解释:
```c
#include <stdio.h>
#include <stdlib.h>
int fun(int m); // 声明递归函数
int main(){
int n,sum=0;
printf("Please enter a number:");
scanf("%d",&n);
if(n<=0){
printf("Enter error");
exit(0);
}
sum=fun(n); // 调用递归函数
printf("sum=%d\n",sum);
return 0;
}
int fun(int m){
if(m==1){ // 递归结束条件
return 1;
}
return m+fun(m-1); // 递归调用
}
```
解释:
1.首先在主函数中输入一个正整数n,如果n小于等于0,则输出“Enter error”并退出程序。
2.然后调用递归函数fun(n),将返回值赋给变量sum。
3.在递归函数fun(m)中,如果m等于1,则返回1,递归结束。
4.否则,返回m+fun(m-1),即m加上m-1到1的和,继续递归调用fun(m-1)。
5.最终,fun(n)返回的值就是1+2+3+...+n的和,赋给sum并输出。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)