自然底数 e=2.718281828…,e 的计算公式如下:
e=1+1/1!+1/2!+1/3!+…
要求当最后一项的值小于 10-10 时结束。
算法思想:
使用循环实现累加求和,并在求和后计算下一项所对应的阶乘。
① 用循环语句 while 进行循环控制。判断条件为 1/n>10-10;条件成立则执行 ②,条件不成立执行 ⑤;
② 计算求和 e+=1/n;
③ i 自增 1;
④ 计算下一项所对应的阶乘:n=i*n;
⑤ 结束循环,打印输出结果。
#include <stdio.h>
int main(void) {
float e = 1.0, n = 1.0;
int i = 1;
while (1 / n > 1e-10) {
e += 1 / n;
i++;
n = i * n;
}
printf("e的值是:%f\n",e);
return 0;
}
输出结果:
e的值是:2.718282