怎么写啊?怎么写啊?

递归实现前n个整数求和
用递归函数实现前n项之和,即s=1+2+3+...+n;

img

int sum(int n){
    if(n<= 0){
        return 0; 
    }
    if(n==1){
           return 1; 
    }else{
       return (sum(n-1)+n); 
    }
}

int main() { 
    int n,num;
    scanf("%d",&n);
    num=sum(n);
    printf("前%d项之和是:%d\n",n,num);
    return 0;
}

输出结果:
前5项之和是:15

#include<stdio.h>
int recursion(int n)
{
    int sum;
    if(n==1)
        return 1;
    else
    {

        sum=n+recursion(n-1);
        return sum;
    }
}

int main()
{
    int i;
    printf("请输入n的值:");
    scanf("%d",&i);
    printf("%d\n",recursion(i));
    return 0;
}

具体代码如下:

#include<stdio.h>
//定义fun()函数实现递归 
int fun(int n)
{
    if(n==1)
    {
        return 1;
    }
    return n+fun(n-1);
}
int main()
{
    int n;
    printf("请输入正整数n:");
    scanf("%d",&n);
    printf("前n个数的和为:%d",fun(n));
    return 0;
}

在我个人理解下,递归就好比是一个高级的循环而已。
只不过是这种特殊的循环是分层级的,
每每执行一次循环就会新产生一个层级,
每层及的执行相应的操作,

递归在某些问题中还是比较实用的,同学要认真对待这部分内容,
在实际的解题过程中要多多尝试运用递归来解题

有帮助的话希望采纳哦

加油加油

https://blog.csdn.net/weixin_46640830/article/details/105566826

参考


#include<stdio.h>
int fun(int n)
{
    int m=1;
    if(n>1)
    m=n+fun(n-1);
    return m;
}
int main()
{
    int n,a;
    scanf("%d",&n);
    a=fun(n);
    printf("%d",a);
    return 0;
}


#include <stdio.h>
int fun(int n)
{
    if(n==1) return 1;
    else return(fun(n-1)+n);
}
int main()
{
    int n;
    scanf("%d",&n);
    printf("%d\n",fun(n));
    return 0;
}

这个要编的是个函数