可以通过泰勒级数来求e的近似值
e=1+1/1!+1/2!+ …+1/n!
直到最后一项值小于0.000001为止
#include<stdio.h>
int main()
{
int i=1,s=1,n;
float rec,sum=0;
sum=sum+1;
以下部分为求n阶乘,并取它的倒数.每次求阶乘时都要令s的值为1,否则经过for(i=1;i<n;i++)循环后s的值不是n!,比如n=2时,s=12;下一次循环 n=3,s=2 s=s123 结果为12 ,所求的就不是3!了
for(n=1;n<=10;n++)
{
s=1; // s一定要赋初值,令其值为1
for(i=1;i<=n;i++)
s*=i;
rec=1.0/s;
printf("%f\n",rec);
if(rec>0.000001) //判断最后一项值是否小于0.000001
sum=sum+rec;
else
break;
}
上面程序块中的printf("%f\n",rec);将所求阶乘的倒数输出,可有可无,这里纯属个人习惯。
printf("%f",sum);
return 0;
}
将最终结果输出。