您的位置:

求e的c语言算法,用c语言计算e

本文目录一览:

用c语言怎样求自然常数e

代码如下

运行过了

输出e=2.718282

不知是否满意

望采纳

#include

void

main(){

long

fun(int

n);

int

i;

double

e=0;

double

eps=1e-6;//eps表示精度

此处指10的-6次方

for(i=0;1.0/fun(i)eps;i++)

{

e+=1.0/fun(i);

}

printf("e=%lf\n",e);

}

long

fun(int

n)//求n!的函数

{

if(n==0)

return

1;

else

return

n*fun(n-1);

}

C语言编程计算e

main(){

double e=1,n=1;

int i;

for(i=1;n1e6;i++)

{n=n*i;e+=1.0/n;

printf("%d\t%.7f\n",i,e);/*观察每次循环时e的输出值,可删*/

}

printf("e=%.6f\n",e); /*%.7f %.6f 控制输出精度*/

scanf("%d");/*输出暂停 可删或换getchar()等*/

}

输出:

1 2.0000000

2 2.5000000

3 2.6666667

4 2.7083333

5 2.7166667

6 2.7180556

7 2.7182540

8 2.7182788

9 2.7182815

10 2.7182818

e=2.718282

自然对数

当x趋近于正无穷或负无穷时,[1+(1/x)]^x的极限就等于e,实际上e的值就是通过这个极限而发现的。它是个无限不循环小数。其值约等于2.718281828...

c语言求e 两种方法

// 我先提供一种/* e = 1 + 1/1! + 1/2! + 1/3!+........1/n!+.... ... */

#include math.h

#include stdio.hvoid main() {

double e = 1.0,delta;

int factorial = 1,i = 1;

do {

delta = 1.0/factorial;

e = e + delta;

i++;

factorial = factorial*i;

} while(fabs(delta) 1.0e-6);

printf("e = %lf\n",e);

}