1+2+3+4+5+....10用c语言递归求
时间: 2024-04-23 22:18:44 浏览: 13
要用C语言递归求1+2+3+4+5+....+10,可以使用以下代码实现:
```c
#include <stdio.h>
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n - 1);
}
}
int main() {
int result = sum(10);
printf("1+2+3+4+5+....+10 = %d\n", result);
return 0;
}
```
这段代码定义了一个递归函数`sum`,它接受一个整数参数`n`,并返回1到n的累加和。在函数内部,首先判断递归的终止条件,即当n等于1时,直接返回1。否则,将n与sum(n-1)的结果相加并返回。在主函数中,调用sum函数并打印结果。
相关问题
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并输出。
递归方法球1!+2!+3!+4!+5!+….+10!c语言
以下是求1!+2!+3!+...+10!的C语言递归方法代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int sum(int n) {
if (n == 1) {
return 1;
} else {
return factorial(n) + sum(n - 1);
}
}
int main() {
printf("1!+2!+3!+...+10!=%d\n", sum(10));
return 0;
}
```
运行结果为:1!+2!+3!+...+10!=4037913