C语言编程计算e
按下列公式计算e的值,精度为1e-6。(注意,这里的e是自然对数的底数)e=1+1/1!+1/2!+1/3!+…1/n!...
按下列公式计算e的值,精度为1e-6。(注意,这里的e是自然对数的底数)
e=1+1/1!+1/2!+1/3!+… 1/n! 展开
e=1+1/1!+1/2!+1/3!+… 1/n! 展开
5个回答
展开全部
main(){
double e=1,n=1;
int i;
for(i=1;n<1e6;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...
double e=1,n=1;
int i;
for(i=1;n<1e6;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...
展开全部
楼主你好
具体代码如下:
#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;
}
希望能帮助你哈
具体代码如下:
#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;
}
希望能帮助你哈
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//e=1+1/2!+1/3!+......+1/n!
#include <stdio.h>
main()
{
double e=1.0,t=1.0;
int n=1;
while(1/t>1e-6)
{t=t*n;
e=e+1/t;
n++; }
printf(" e=1+1/2!+1/3!+......+1/n!=%3.9lf\n",e);
}
希望对你有帮助
#include <stdio.h>
main()
{
double e=1.0,t=1.0;
int n=1;
while(1/t>1e-6)
{t=t*n;
e=e+1/t;
n++; }
printf(" e=1+1/2!+1/3!+......+1/n!=%3.9lf\n",e);
}
希望对你有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
# include<stdio.h>
# include<math.h>
int fac(int n) //用递归法求n的阶乘
{
long f;
if (n == 0 || n == 1) //0和1的阶乘是1
f = 1;
else
f = fac(n-1)*n;
return f;
}
main()
{
int i;
float sum = 1.0;
for (i = 1; 1.0/fac(i) > 1e-6; i++)
sum = sum+1.0/fac(i);
printf("%f\n", sum);}
# include<math.h>
int fac(int n) //用递归法求n的阶乘
{
long f;
if (n == 0 || n == 1) //0和1的阶乘是1
f = 1;
else
f = fac(n-1)*n;
return f;
}
main()
{
int i;
float sum = 1.0;
for (i = 1; 1.0/fac(i) > 1e-6; i++)
sum = sum+1.0/fac(i);
printf("%f\n", sum);}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
double e=1 , e0 , jc=1;
int i=1;
do {
e0 = e ;
jc *= i ;
e += 1/jc ;
i++ ;
} while ( e-e0 > 1e-6 );
printf("i=%d , e=%lf\n" , i , e );
return 0;
}
int main()
{
double e=1 , e0 , jc=1;
int i=1;
do {
e0 = e ;
jc *= i ;
e += 1/jc ;
i++ ;
} while ( e-e0 > 1e-6 );
printf("i=%d , e=%lf\n" , i , e );
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |