题目:C语言中用泰勒级数求e的近似值,直到最后一项小于 10的负6次方为止次方
e=1+1/1!+1/2!+...+1/n!
描述:观察公式前两项可以直接不用计算,合并为2,设置三个float型变量,e为结果,s为分子,i为分母,通过i累加再相乘之后实现分母的阶乘变化。
输入:不需要输入,在main函数内设置好初始值
输出:输出e的结果。
#include "stdio.h"
void main(){
float s=1,e=2,i=1;
while(1/i>=1e-6)
{
i=i*(i+1);
e+=s/i;
}
printf("e=%f\n",e);
}
编程技巧与注意事项:
1.注意C语言中的除法运算的特点:
两个整数相除依据向零取整的原则舍去小数部分:5/3=1,-5/3=-1(而不是-2).
若一个为整数一个为浮点数则进行浮点数除法:5/3.0=1.66667, -5.0/3=-1.66667.
注意比较:1/3*3=0,1.0/3*3=1