#include <stdio.h> float fact(int);
void main() { int x; printf("输入一个整数:\n"); scanf("%d",&x); printf("\n结果是:%0.0f\n\n",fact(x)); }
float fact(int n) { float sum=0.0,b; if((n==1)||(n==0)) return 1; for(int j=1;j<=n;j++) { b=n*fact(n-1); sum+=b; } return sum; } 这是一条求1!+2!+3!+。。。。+n!的程序,我不会用递归做,现在就算我做出了,结果也不对,高手可以帮我看看我写的程序吗?我的程序错在哪里?请高手指出!
[此贴子已经被作者于2005-5-1 10:16:57编辑过]