C语言编写,求e的值.e≈1+1/1!+1/2!+1/3!+……+1/n!

来源:百度知道 编辑:UC知道 时间:2024/06/06 01:03:53
1.用for循环,计算前50项.
2.用while循环,要求直至最后一项的值小于10的-4次方.

1.
//---------------------------------------------------------------------------

#include <stdio.h>

#define N 50
int main(int argc, char* argv[])
{
double e=1,t=1;
int t1;
for (t1=2;t1<=N;++t1)
{
t*=(double)1/t1;
e+=t;
}
printf("%lf",e);
return 0;
}
//---------------------------------------------------------------------------

2.
//---------------------------------------------------------------------------

#include <stdio.h>

const double eps=1e-13;

int main(int argc, char* argv[])
{
double e=0,t,t1;
t=t1=1;
while (t-(1e-4)>eps)
{
e+=t;
t*=1/++t1;
}
printf("%lf",e);
return 0;
}
//---------------------------------------------------------------------------

e=1;
div=1;
for(i=1;i<n;i++)
{
div/=i