1、代码如下:
#include<iostream>
using namespace std;
double fac(int n)
{
double s(1);int i;
for(i=1;i<=n;i++)s=s/i;
return s;
}
int main()
{
int i=0; double s;
while(fac(i)>=1e-6)
{s+=fac(i);
i++;
}
cout<<"e="<<s<<endl;
return 0;
}

2、运行结果:

1、此题比较简单,首先计算1/i!
double fac(int n)
{
double s(1);int i;
for(i=1;i<=n;i++)s=s/i;
return s;
}

2、然后求和:
{s+=fac(i);
i++;
}

3、如图,判断最后一项是否满足条件:
fac(i)>=1e-6
