‘壹’ c语言编程计算e
楼主你好
具体代码如下:
#include<stdio.h>
int main()
{
double e=1,index;
int i=1,j=1;
do{
i*=j;
index=1.0/i;
e+=index;
j++;
}while(index>=1E-6);
printf("e=%.5f\n",e);
return 0;
}
希望能帮助你哈
‘贰’ 用c语言怎样求自然常数e
代码如下 : 运行过了 输出e=2.718282 不知是否满意 望采纳
#include<stdio.h>
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
#include "stdio.h"
void main()
{
int k,j;
long m;
double e=0;
for(k=0;;k++)
{
// k!
for(j=1,m=1;j<=k;j++)
{
m*=j;
}
e+=1.0/m;
if(1.0/m < 0.000001)
break;
}
printf("e=%lf",e);
printf("\npress any key to exit:\n");
getch();
}
运行结果:
e=2.718282
press any key to exit:
‘肆’ 怎样在c语言中对自然数e进行计算
首先 x是什么类型?
定义的是int 输入用的%lf 这个统一一下
其次,对于x<0时, y= -e^x
应该是先求幂,再求相反数
你写的是y= (-e)^x
这里也改一下 应该就可以了
‘伍’ c语言中怎求数学中的e是多少啊
我给你介绍一个公式吧:(泰勒工式展开式)
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);
}
‘陆’ 计算e值得c语言编程问题
这是一个迭代的过程,
首先设置一个精确的标准,小数点后九位,也就是说:当本次迭代和上次迭代的结果之间的误差小于:10^(-9),这就是计算完成的判断条件
(1)设置计算结果:y=0;设置迭代次数:k=1;上次结果:y1=0;
(2)设置一个中间变量:delta=1;两次迭代的误差:e=0;
(3)开始迭代:
(3-1)
计算:delta=delta/k;
(本质上就是求:1/k!)
(3-2)
计算:y=y+delta;
(3-3)
计算:
(3-4)计算两次迭代的误差:e=y-y1
的绝对值
(4)判断是不是该结束:
(4-1)如果:e<10^(-9),跳到(5)
(4-2)y1=y;k
=
k+1;跳到(3-1)进行下一次迭代
(5)返回:y,这就是e的值
‘柒’ c语言怎么求e
把你的jc定义为doule类型才行
‘捌’ C语言编一个计算e的值的程序
//double??
for(i=1.000000;n>=EPSILON;++i)
{
z=z*i;//阶乘
n=m/z;//求反
t=t+n;//求和
}
你是想表达这个意思吧
doubles,e,n,z,m,t,i;//1.不需要全部使用double的
//double是处理小数位数多的时候进行使用的
//double和float都是一个相似值
t=0.000000;
m=1.000000;
s=1.000000;
z=1.000000;
for(i=1.000000;n>=EPSILON;++i)//n的初始化呢?n什么时候才能够>=EPSILON
//所以你这里应该使用dowhile的结构,而不是for
{
z=z*i;//这里的问题,就是我前面标示的,
//longlong会更精确一点,而1.0000001*1.0000002的结果会对下面有影响的
n=m/z;//m始终没有改变过,没有必要使用一个变量:)
//n=double(1)/z;
t=t+n;//t+=n;个人习惯
}
e=t+1.000000;
printf("e=%.6lf",e);
return0;
‘玖’ C语言编程,求e
e没有给初始值
#include<stdio.h>
int main(){
int n=1,k=1;
double a,e=1;
printf("请输入精度:\n");
scanf("%lf",&a);
do{
k*=n;
n++;
e+=1.0/k;
}while(1.0/k>a);
printf("e=%lf",e);
return 0;
}
‘拾’ 求c语言程序,求e,用递归函数
用c语言程序,求e,用递归函数,最易于实现的计算方法应该是使用e的极限近似计算,以下以n=1000近似计算之:
n=10000时的近似结果