c语言1加到n的阶乘之和

#include<stdio.h>fac(intn){inti,sum=0;for(i=1;i<=n;i++){n*=i;sum+=n;}returnsum;}intma... #include<stdio.h>
fac(int n)
{
int i,sum=0;
for(i=1;i<=n;i++)
{ n*=i;
sum+=n;
}
return sum;
}
int main(void)
{ int n1;
int result;
printf("随意输入整数n,求1!+2!+...+n!的和:\n");
scanf("%d",&n1);
result=fac(n1);
printf("%d",result);
return 0;
}

运行出来是随机数,这个程序哪里错了呢?
展开
 我来答
匿名用户
2017-12-08
展开全部

首先fac函数没有定义返回类型;

还有就是计算阶乘和计算的只是n的阶乘;

#include<stdio.h>

int fac(int n)    //返回类型为int型
{
    int sum = 0;
    int sum1 = 1;
    for(int j = 1; j <= n; j++)  //从1开始计算阶乘,计算到n
    {
        for(int i = 1; i <= j; i++)
        { 
            sum1 *= i; 
        }
        
        sum += sum1;
    }
    
    return sum;
}

int main(void)
{
    int n1;
    int result;
    printf("随意输入整数n,求1!+2!+...+n!的和:\n");
    scanf("%d",&n1);
    result = fac(n1);
    printf("%d",result);
    
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式