(1)设计C语言程序,按下面的近似公式计算:e=1+1/1!+1/2!+1/3!+......+1/n!+.....

来源:百度知道 编辑:UC知道 时间:2024/05/24 06:10:10
使误差小于给定的误差限E=0.0001.

#include<stdio.h>
void main()
{
int i=1,j=1;
float e=1.0,k;
do{
j=i*j;
k=1.0/j;
e=e+k;
i++;
}while(k>1e-4);//判断误差是否小于给定的误差限E=0.0001
printf("%f\n",e);
}

#include <stdio.h>
#include <stdlib.h>
#define E 0.0001

int factorial(int i)
{
if((i==1)||(i==0)) return 1;
return i*factorial(i-1);
}

int main()
{
float e=1;
int i=1;
float temp;

while((temp=(float)1/factorial(i++)) >= E) e+=temp;

printf("now e=%f\n",e);
system("pause");
}

这个题主要是递归求阶乘,其实很简单~!