继续问一个简单的c程序

来源:百度知道 编辑:UC知道 时间:2024/09/20 17:50:35
求e的
我是这样写的#include <stdio.h>
void main()
{double i,j,k=1;double sum=0;
for(i=1;i<=50;i++)
{for(j=1;j<=i;j++)
k=k*j;
sum=sum+(1/k);}
printf("%f",sum+1);
}结果是2.586835看起来不像e啊……
ps:题目里给的公式是e=1+1/(1!)+1/(2!)+1/(3!)..要加50项

{for(j=1;j<=i;j++)
k=k*j;
sum=sum+(1/k);}
新循环里k没有重置为1

我搞错了,其实你对的,这个程序没错哦。
1/(2!)=1/2 1/(3!)=1/6 1/(4!)=1/24
这个公式到后面得到的结果越来越小,可以取前面的几项目估计结果,
大约就是2.58.。。。