求1!+2!+3!+…..+20!,编写一函数实现求阶乘,在主函数main()函数中调用该函数.

2024-12-26 05:56:34
推荐回答(2个)
回答1:

#include 
int main(void){
    __int64 sum,i,t;
    for(t=sum=1,i=2;i<21;sum+=t*=i++);
    printf("1!+2!+3!+...+20! = %I64d\n",sum);
    return 0;
}

如果你的平台没有__int64型,可以用long long型。如果也没有那就用double型,但结果不很精准。

回答2:

# include

long f(int n)

{
if(n==0||n==1)

return 1;

else

return n*f(n-1);
}

int main(void)

{

int i,n=20;

long sum=0;

for(i=1;i<=n;i++)

sum=sum+f(i);

printf("%ld\n",sum);


return 0;
}

具体的你再看看