求给定序列前n项和1!+2!+3!+.+n!

输入一个正整数n,求e=1!+2!+3!+.+n!的值。要求定义和调用函数fact(n)计算n!,函数类型是double。试编写相应程序。

img


int fact(int n){
    if (n==1)
    {
        return 1;
    }
    return fact(n-1)*n;
}


int main()
{
    int n,s=0;
    scanf("%d",&n);
    for (int i = 1; i <= n; i++)
    {
        s+=fact(i);
    }
    printf("%d\n",s);
    

    return 0;
}
#include <stdio.h>

double fact(int n)
{
    double f = 1.0;
    for (int i = 1; i <= n; i++)
        f *= i;
    return f;
}

int main()
{
    int n;
    double sum = 0.0;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
        sum += fact(i);
    printf("%lf", sum);
    return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

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