C语言利用公式e=1+ 1/1! + 1/2! + 1/3! + ... + 1/n!,编程计算e的近似值,

直到最后一项的绝对值小于threshold(该项不包括在结果内),输出e的值并统计累加的项数.
输入范例 :0.00001输出范例 :2.718279 9

#include "stdio.h"
#include "stdlib.h"
 
int main()
{
double d,e,n,jc;
int i,m;
char ws[32];
printf("输入精确度:");
scanf("%lf",&d);

jc=1;
e=1;
n=1;
do
{
jc=jc*n;
e+=1/jc;
n+=1;
}while((1/jc)>d);
if(e>1)
printf("%d.",int(e));
while(e>1)
e=e-double(int(e));
do
{
e=e*10;
printf("%d",int(e)%10);
d=d*10;
}while(d<1);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-17
#include"math.h"
void main()
{
float e=1.0,temp=1.0;
int i,p=1;
for(i=1;fabs(temp)>1e-6;i++)
{
p=i*p;
temp=1.0/p;
e=e+temp;
}
printf("%f",e);
}
相似回答