编写程序,求e的值。e≈1+1/1!+1/2!+1/3!+1/4!+…+1/n!用while循环,要求直至最后一项的值小于10^-6。
(1).#include<stdio.h>voidmain(){inti=0;doublej=1,e=1,m;while(m>=1e-6){i=i+1;j=j*i;m=1...
(1).#include<stdio.h>
void main()
{
int i=0;
double j=1,e=1,m;
while(m>=1e-6)
{
i=i+1;
j=j*i;
m=1/j;
e=e+m;
}
printf("e的值为%lf",e);
}
(2).#include<stdio.h>
void main()
{
int i=0;
double j=1,e=1;
while(1/j>=1e-6)
{
i=i+1;
j=j*i;
e=e+1/j;
}
printf("e的值为%lf",e);
}
求问,为什么第一个程序不能输出正确答案而第二个可以,程序中间为什么不能多个中间量m?是因为数据类型的问题吗? 展开
void main()
{
int i=0;
double j=1,e=1,m;
while(m>=1e-6)
{
i=i+1;
j=j*i;
m=1/j;
e=e+m;
}
printf("e的值为%lf",e);
}
(2).#include<stdio.h>
void main()
{
int i=0;
double j=1,e=1;
while(1/j>=1e-6)
{
i=i+1;
j=j*i;
e=e+1/j;
}
printf("e的值为%lf",e);
}
求问,为什么第一个程序不能输出正确答案而第二个可以,程序中间为什么不能多个中间量m?是因为数据类型的问题吗? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询