问题描述:
C语言编一个计算e的值的程序
要求为最后一项的值时为止,小于0.0000001,我编的程序是这样的,但是不对,求分析与修改.
#include
#include
#define EPSILON 1e-6
int main()
{
double s,e,n,z,m,t,i;
t=0.000000;
m=1.000000;
s=1.000000;
z=1.000000;
for(i=1.000000;n>=EPSILON;++i)
{
z=z*i;
n=m/z;
t=t+n;
}
e=t+1.000000;
printf("e=%.6lf",e);
return 0;
}
再问一个问题,就是最后输出时用%f与%lf的区别,都是对应double型的.
要求为最后一项的值时为止,小于0.0000001,我编的程序是这样的,但是不对,求分析与修改.
#include
#include
#define EPSILON 1e-6
int main()
{
double s,e,n,z,m,t,i;
t=0.000000;
m=1.000000;
s=1.000000;
z=1.000000;
for(i=1.000000;n>=EPSILON;++i)
{
z=z*i;
n=m/z;
t=t+n;
}
e=t+1.000000;
printf("e=%.6lf",e);
return 0;
}
再问一个问题,就是最后输出时用%f与%lf的区别,都是对应double型的.
问题解答:
我来补答展开全文阅读