可以通过zjdls级数来求e的近似值
e=1+1/1!+1/2!+ …+1/n!
直到最后一项值小于0.000001为止
以下部分为求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一定要赋初值,令其值为1for(i=1;i<=n;i++)s*=i;rec=1.0/s;printf("%fn",rec); if(rec>0.000001) //判断最后一项值是否小于0.000001 sum=sum+rec;else break;}上面程序块中的printf("%fn",rec);将所求阶乘的倒数输出,可有可无,这里纯属个人习惯。
printf("%f",sum);return 0;}将最终结果输出。