请帮忙用C语言写一个关于阶乘的程序!

C语言学得不是很好,现在有一个程序,麻烦C语言高手帮忙写一下,非常感谢!
题目就是:
分子为1,分母为1!,2!,3!,4!,...,n!;求它们相加的和的程序。要求S的值精确至10的负8次方。
S=1+1/1!+1/2!+1/3+…+1/n!

#include<stdio.h>
void main()
{ float sum=0;
int i,j,n;
i=1;
j=1;
printf("请输入n\n");
scanf("%d",&n);
while(i<n)
{
j*=i;
sum+=1.0/j;
i++;
}
printf("%2.8f",sum);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-04
double CalcS(int n)
{
double sum=1.0;
for(int i=1;i<n+1;i++)
{
double temp=0;
for(int j=1;j<i;j++)
{
temp+=ln(j);
}
sum += 1/exp(temp);
}

return sum;
}
第2个回答  2010-06-04
#include<stdio.h>
double fun(int x)
{
int a,sum=1;
for(a=1;a<=x;a++)
sum*=a;
return sum;
}
main()
{
int a,n;
long double sum=0;
scanf("%d",&n);
for(a=1;a<=n;a++)
sum+=1/fun(a);
printf("%lf\n",sum);
}
第3个回答  2010-06-05
#include<stdio.h>
int main()
{
int n=1;
float p=1,s=0;
int jiecheng(int x);
while(1.0/p>=1e-8)
{
s=s+1.0/p;
n++;
p=jiecheng(n);
}
printf("%.8f\n",s);
return 0;
}
int jiecheng(int x)
{
int m;
if (x==1)
m=1;
else
m=jiecheng(x-1)*x;
return (m);
}
应该没问题了,呵呵。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网