以计算结果和和上次计算结果的差是否小于10的-6次方作为是否结束循环的标准
大家帮帮忙偶吧,就是用最简单的循环结构做
其实不难的,希望多多思考,不要形成依赖.帮你解决了,顺便贴出来.这个不是最好的算法,留给有心人去研究吧. #include<stdio.h> #include<conio.h>
int fact(int j)/*计算j阶乘*/ { int sum; if(j==0) sum=1; else sum=j*fact(j-1); return sum; } void main() { int i; float e,e1;/*e1是上次计算结果*/
e=1;e1=1; for(i=1;;i++) { e=e1+(float)1/fact(i); if((e-e1)<=0.000001) break;/*退出循环*/ else e1=e;/*否则继续*/ } printf("%f\n",e); getch(); }
[此贴子已经被作者于2005-10-7 2:34:10编辑过]