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;
}
运行出来是随机数,这个程序哪里错了呢? 展开
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;
}
运行出来是随机数,这个程序哪里错了呢? 展开
1个回答
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询