main(){
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比兴庆网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式兴庆网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖兴庆地区。费用合理售后完善,十多年实体公司更值得信赖。
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...
代码如下
:
运行过了
输出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,用递归函数,最易于实现的计算方法应该是使用e的极限近似计算,以下以n=1000近似计算之:
n=1000时的近似结果
#includestdio.h
#define n 1000
void calc_e(e)
double *e;
{
if(e[0]*=1.0+1.0/e[1],--e[2]=0)
return;
else calc_e(e);
}
int main(void){
double box[3]={1.0,n,n};
calc_e(box);
printf("%lf\n",box[0]);
return 0;
}
n=10000时的近似结果