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