上班族适合养比熊犬吗:一个C语言循环嵌套的问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/04 06:17:45
我是用C语言的,(不是C++,VC之类),用的是turbo C 2.0。
我的程序如下:
main()
{
double e=1.0;
int n,m;
long t=1;
for(n=1;n<=50;n++)
{ for(m=n;m>0;m--)
t*=m;
e+=1.0/t;
}
printf("e=%lf",e);
system("pause");
}
请问到底错在哪里?就是出不了结果!谢谢!
那个e+=1.0/t;是求数的乘阶的倒数和,我运行完后只显示:Floating point error:Divide by 0.
gztjzxj04的回答和wam101一样!我是要求e=1+(1/1!)+(1/2!)+(1/3!)……的值!但我用while循环却没有错误!何解?

你看看我的程序就知道了
慢慢去想一下
main()
{
double e=1.0;
int n,m;
long t=1;
for(n=1;n<=50;n++)
{ for(m=n;m>0;m--){
t*=m;
e+=1.0/t;
}
}
printf("e=%lf",e);
system("pause");
}
我感觉是这样的,你试试看

#include<stdio.h>
void main()
{
double e=1.0;
int n,m;
/* long t=1; */
for(n=1;n<=50;n++)
{ double t=1; /* !!!! */
for(m=n;m>0;m--)t*=m;
e+=1.0/t;
}
printf("e=%lf",e);
system("pause");
}

Divide by 0是除0错
还有就是把程序的格式搞搞好,就能看清楚了,上面两位都回答了,我就不多说了。