[此贴子已经被作者于2005-4-22 10:23:41编辑过]
1:answer与e应设为float型,要不数据会丢失。
2:else answer=1/(factor(n-1)*n);这句肯定不行的,不信你用n=3试一下。
修改如下 :
#include<stdio.h> factor(int n) { int answer; if(n==0)return 1 ; else if(n==1) return 1; else answer=factor(n-1)*n; return(answer); } main() { int i; float e; e=0; for(i=0;1.0/factor(i)>1e-6;i++) e=e+1.0/factor(i); printf("%f",e); getch(); }