c语言中怎求数学中的e是多少啊???
发布网友
发布时间:2022-04-25 03:52
我来回答
共5个回答
热心网友
时间:2023-10-24 06:59
我给你介绍一个公式吧:(泰勒工式展开式)
e=1+ 1 + 1/2! +1/3! +1/4! +1/5! + ...+ 1/n!
其中,n!表示n的阶乘:n!=n*(n-1)*(n-2)*...*3*2*1;可以专门设计一个子函数求 n! ;(n越大,精确度越高)
下面是代码:
//网页上直接写的,在VC++6.0运行时如果编译出错,那就改一下分
//号和逗号
#include<stdio.h>
#define N 20
int jiecheng(int n)
{
int i=n;
int result=1;
while(i)//
{
result*=i;
i--;
}
return result;
}
void main()
{
int i;
double e=2;
for(i=2;i<N;i++)
{
e+=1/(jiecheng(i)*1.0)
}
printf("e=%lf\n",e);
}
热心网友
时间:2023-10-24 07:00
C语言中数e(指数e)可以用exp(
)函数表示。
函数原型:double
exp(double
x);
功能:计算e^x的值
返回值:计算结果
举例:
double
x=1.5,
y;
y
=
exp(x);
//
y的值就是e^1.5
注:使用exp函数时,需要将头文件#include<math.h>添加进源文件中。
热心网友
时间:2023-10-24 07:00
我给你介绍一个公式吧:(泰勒工式展开式)
e=1+
1
+
1/2!
+1/3!
+1/4!
+1/5!
+
...+
1/n!
其中,n!表示n的阶乘:n!=n*(n-1)*(n-2)*...*3*2*1;可以专门设计一个子函数求
n!
;(n越大,精确度越高)
下面是代码:
//网页上直接写的,在VC++6.0运行时如果编译出错,那就改一下分
//号和逗号
#include<stdio.h>
#define
N
20
int
jiecheng(int
n)
{
int
i=n;
int
result=1;
while(i)//
{
result*=i;
i--;
}
return
result;
}
void
main()
{
int
i;
double
e=2;
for(i=2;i<N;i++)
{
e+=1/(jiecheng(i)*1.0)
}
printf("e=%lf\n",e);
}
热心网友
时间:2023-10-24 07:01
#include <stdio.h>
void main()
{
double x=0 , e=1;
double a=0;
scanf_s("%lf", &x);
while (a < x)
{
e*=(1 + 1 / x);
a++;
}
if (a = x)
{
printf("%.10lf\n", e);
}
}
热心网友
时间:2023-10-24 07:01
#include <stdio.h>
void main(void)
{
int n=0;
double itmp=1.0;
double e=2.0;
int i=0;
printf("\nInput N [ 2 -- 65535 ] : ");
scanf("%d",&n);
for(i=2;i<=n;i++) {
itmp/=i;
e+=itmp;
}
printf("\n\ne=%1.18f\n\n",e);
}