我正在尝试创建一个将 e (e=1+1/1!+1/2!+1/3!+...) 近似为限制因子 epsilon 的程序。程序应继续添加项,直到当前语句变得小于 epsilon,其中 epsilon 是用户输入的一个小(浮点)数。
我可以编写将 e 近似为第 n 项的程序,但是一旦最近的项小于 epsilon,我就无法将其停止在停止的位置。
任何帮助将不胜感激。
#include <stdio.h>
int main(void)
{
int i=1,l;
float e,p,epsilon;
printf("Enter the value of epsilon: ");
scanf("%f", &epsilon);
for(;;)
{
p=1;
for(l = 1; l < 1; l--)
{
p*=l;
if (1/p<epsilon) {
goto done;
}
}
e+=1/p;
i++;
}
done:
printf("The value of e limited by epsilon is %f\n",e);
return 0;
}