c语言递归函数求和问题

img


#include
#include
double fact(double n);
{
double s,a=1,i,j,n;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{a=a*j;}
s=s+a;
}

printf("%.0lf",s);
return 0;
}

int main()
{
double fact(double n)
scanf("%lf",&n);

printf("%d",s);
    return 0;

}
为啥错了,怎么改正呢,还有就是能否提供一个写函数的模板,刚学函数,不知道应该是啥格式

第3行后面别加分号,第18行删掉
7、8行之间要加上一个a=1,对于内层循环,每次循环开始前要将a重置为1才行

根据你的代码我来为你写一个规范完整的吧,记得采纳就行


#include<stdio.h>
//递归求和函数
int  fast(int  n){
    int count;
    if(n<=0){
        count=0;
    }else{
    count=n+sum(n-1);
    }
    return count;
}
int main(){

int n;
printf("请输入n的值L:\n");
scanf("%d",&n);
printf("%d\n",sum(n));

    return 0;
}