C语言中,求e=1/1!+1/2!+…+1/n!精确到10ˉ8

最好有说明

#include <stdio.h>

int main(void)
{
long n = 0, ns = 1; double x = 0.0f, y=0.0f, e = 1.0f;
for(;;) {
n++; /*计算n*/
ns *= n; /*计算n!*/
x = ns;
y = 1.0f / x; /*计算1/n!*/
if (y < 1e-8) break; /*如果足够小则停止*/
e += y; /*计算e*/
}
printf("%9.8f\n", e); /*输出结果*/
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-20

#include <stdio.h>

int main() 

{

double i=1.0,t=1.0,e=0.0;

for(;t>=1e-10;i+=1.0)

{e+=t;

t/=i;        //t--阶乘的倒数

}

printf("%.8lf\n",e);

return 0;

}

第2个回答  2012-12-09
#include<stdio.h>
double funcz(int k) /*k!*/
{

double i = k - 1;
for (; i != 0; i--)
k *= i;
return k;
}

int main()/*e=1 1 1/2 ......*/
{
int n = 0;
double a, e = 1;
printf("请输入精度:\n");
scanf("%lf", &a);
do
{
n ;
e = 1.0 / funcz(n);
}
while (n < a);
printf("e=%lf", e);
return 0;
}

C语言中,求e=1\/1!+1\/2!+…+1\/n!精确到10ˉ8
int main(void){ long n = 0, ns = 1; double x = 0.0f, y=0.0f, e = 1.0f;for(;;) { n++; \/*计算n*\/ ns *= n; \/*计算n!*\/ x = ns;y = 1.0f \/ x; \/*计算1\/n!*\/ if (y < 1e-8) break; \/*如果足够小则停止*\/ e += y; \/*计算e*\/ } printf(...

C语言编程: 根据公式e=1+1\/1!+1\/2!+1\/3!+…,求e的近似值,精度要求为...
{int i;double n=0;for(i=1;1.\/jc(i)>1e-6;i++)n+=1.\/jc(i);printf("%lf\\n",n+1);}

C语言 编写程序求e的值 e=1+1\/1!+1\/2!+1\/3!+...
public static void main(String args[]){ double sum=1,n=1;double e=1;for(n=1;n<=10;n++){ sum=sum*n;e+=1\/sum;} System.out.println("e="+e);} } 得到的值为:2.7182818011463845...随着n值越专大得到的e值越精属确。

c语言求e=1+1\/1!+1\/2!+1\/3!+1\/4!+...
问题没说清楚是怎么求,所以这里我决定求第n项的e(n通过控制台输入获取,例如n=3,则e=1+1\/1!+1\/2!。)。这是我的代码:include <stdio.h> int jiecheng(int n)\/\/阶乘函数(利用递归方式计算){ if (n == 1)\/\/递归结束条件,如果n等于1 { return 1;\/\/返回终值 } return n * jiec...

...要求求e的值,e约等于1+1\/1!+1\/2!+1\/3!+...+1\/N! 要求直至最后一项的...
include<stdio.h> void main(){ double b=1,a=1,n,i,j=1;while(a>=1e-7){ n=1;i=1;while(i<=j){ n=n*i;i++;} a=1\/n;b=a+b;j++;} printf("%f\\n",b);} 看不清楚你写的是小于10的几次方,我这是小于10的-7次方 ...

C语言编程序,求e的近似值e≈1+1\/2!+1\/3!+…+1\/n!
(1)计算前n项 源程序如下:include<stdio.h> int main(){ double item=1,sum=1;int n,i;scanf("%d",&n);for(i=1;i<=n;i++){ item*=1.0\/i;sum+=item;} printf("The sum is lf\\n",sum);return 0;} (2)计算各项直到最后一项小于10^(-4)源程序如下:include<stdio.h>...

C语言:按泰勒级数公式e = 1 + 1\/1! + 1\/2! +1\/3! + ... + 1\/n!求e...
a[i]=jiecheng(i); sum += (float)1\/a[i]; } printf("e的值为:%.6f\\n",sum); return 0;}int jiecheng(int N){ if(N==0 || N==1) return 1; else return N*jiecheng(N-1);}运行结果如下:...

用C语言编写程序计算:e=1+1\/1!+2\/2!+1\/3!+···
include "stdio.h"int main(int argv,char *argc[]){int n;double s,t;for(t=s=n=1;t>=1.0E-6;s+=t\/=n++);printf("e≈%f\\n",s);return 0; }运行结果:

用c++编写e=1+1\/1!+1\/2!+1\/3!...1\/n!,计算e的值。要求:1用for循环计...
double fact(int n) \/\/求阶乘。{ int i;double re;re =1;for(i=1;i<=n;i++){ re *=i;} return re;} int main(){ double e=0.0;int i;e=1.0;double temp;for(i=1;i<50;i++) \/\/for的循环。{ temp=1.0\/fact(i);e +=temp;} \/\/printf("e=%lf\\n",e);c...

根据公式e=1+1\/1!+1\/2!+..1\/n 求e的近似值,用python来求。。请大神帮 ...
计算e的值(精度为10**-6)sum,tmp = 1,1 for i in range(1,20):tmp*=i sum += 1\/tmp print("e的近似值(精度为10**-6)为%.6f"%sum)输出结果是2.718282

相似回答