这是《C语言入门实战》系列的第12篇。
上一篇:C语言入门实战(11):输入一组正整数,求逆序数的和
文章目录
- 题目
- 要求
- 参考代码
- 代码复盘
利用算式:
e = 1 0 ! + 1 1 ! + 1 2 ! + . . . + 1 n ! + . . . e=frac{1}{0!}+frac{1}{1!}+frac{1}{2!}+...+frac{1}{n!}+... e=0!1+1!1+2!1+...+n!1+...
求自然常数e,要求控制精度在0.000001,请编程解决该问题。
要求本程序无需输入,结果只输出e的值即可。
参考代码#include代码复盘#include int main(int argc, char *argv[]) { float e = 1;//第1项,1/0! float d = 1; int i; int pro = 1;//分母 for(i=1;d>=1e-6;i++) { pro *= i; d = (float)1/pro; e += d; } printf("%f", e);//2.718282 return 0; }
刚开始,e初始化为第一项的值,然后利用n! = n * (n-1)!的性质,for循环中依次计算从第二项开始各项的分母。



