【答案解析】if(n<1)
{
return 0;
}
else if(n==1)
{
return 1;
}
else
{
return n*factorial(n-1);
}
答案考生文件夹
[解析] factorial(int n)求出n的阶乘,要求使用递归调用。递归调用是指在调用一个函数的过程中直接或间接地调用该函数本身,n的阶乘计算公式为:n!=n×(n-1)×(n-2)……2×1,即n!=n×(n-1)!,因此factorial(int n)的递归过程为:return n*factorial(n-1)。
(1)先考虑最简单的情况,n为1(或小于1)时返回值应该为1,即factorial(1)=1,这是递归结束条件,如果n大于1则递归调用自己。
(2)n>1时,此时递归函数调用自己,即factorial(n)=n*factorial(n-1),此时的函数的返回值是n*factorial(n-1),如此来实现递归调用。