设计c语言程序,按照下面的近似公式计算

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:04:02
设计c语言程序,按照下面的近似公式计算
e=1+1/1!+1/2!+1/3!+.......+1/n!+........
使误差小于给定的误差限w

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

long f(int n)
{
if(n == 1 )
{
return 1;
}
else
{
return n*f(n-1);
}
}

double sum(int n)
{
double res = 0;
int i;
for(i = 1; i <= n; i++)
{
sum += 1.0/f(n);
}
return sum;
}

int main()
{
double w;
double sum1 = f(1);
double sum2 = f(2);
int i = 3;
scanf("%lf", &w);
while(fabs(sum2 - sum1) >= w)
{
sum1 = sum2;
sum2 = f(i);
}
printf("%lf\n", sum2);
return 0;
}