用递归函数求一到十的阶乘和,即求1!+2!+...+10!

新手小白学c,请用简单一点的方法,最好加上注释。
2024-11-02 11:51:26
推荐回答(5个)
回答1:

#include 档岩漏"stdio.h"
int 枣郑func(int n){
return n!=1 ? n*func(n-1) : 1;
}

int 行烂main(int argc,char *argv[]){
int s,i;
for(s=0,i=1;i<11;s+=func(i++));
printf("The result is %d\n",s);
return 0;
}

回答2:

#include
int factor (n) //求阶瞎培扒中行乘函数,对n求阶乘,写出形式参数磨昌!
{
int s=1,k;
for(k=1;k<=n;k++)
{
s=s*k;
}
return s;
}

void main( )
{
int i, sum=0;

for(i=1;i<=10;i++)
sum=sum+factor(i);

printf("1!+2!+…+10!=%d\n",sum);
}

回答3:

int sum=0;
void f(int x)
{
if(x>10) return;
int i,te=1;
for(i=1;i<坦如兆=x;i++)
te*=i;
sum+=te;
f(x+1);
}
int main()
{

f(1);
printf("让租%d\橡辩n",sum);

return 0;
}

回答4:

1!+2!+...+10!=1+1*2+1*2*3+…肆唤改销…裂歼凯+1*2*3*4*5*6*7*8*9*10=1+2+6+24+120+720+5040+40320+362880+3628800=4037913

回答5:

//递归求值;代碧郑则码如悔棚丛州下
double fact( int n )
{
double result;
if(n==1||n==0)
result=1;
else
result=fact(n-1)*n;
return result;
}
double factsum( int n )
{
double result;
if(n==1)
result=1;
else if(n==0)
result=0;
else
result=factsum(n-1)+fact(n);
return result;