我觉得计算阶乘用递归是不必要的,完全没必要啊,用递归的场合我个人认为是正推无法实现必须要逆推的时候才用。计算阶乘的办法有很多,实在用递归的话,汉诺塔或者八皇后这样的问题最适合用的
。int s(int a)
{
int b;
b=a*a;
return b;
}
long f(int n)
{
long i,j=0;
j=s(n);
for(i=j-1;i>=1;i--)
j*=i;
return j;
}
main()
{
int a,b;
long int n;
printf("please input number:\n");
scanf("%d,%d",&a,&b);
n=f(a)+f(b);
printf("%ld",n);
}
上述是个计算两个阶乘相加的例子,比单独一个阶乘计算多了个相加,我觉得比较好,供楼主参考下,我们都是新手,一起学习吧