使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数: int factorial(int n):求出n的阶乘,必须使用递归调用。 如果n小于1则返回0。 注意:不能修改函数的其他部分。 #include #in

admin2015-07-20  39

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数:
    int factorial(int n):求出n的阶乘,必须使用递归调用。
    如果n小于1则返回0。
    注意:不能修改函数的其他部分。
#include
#include
int factorial(int n)
{
}
void main()
{
    cout<    cout<    cout<    return;
}

选项

答案if (n<1) { return 0 ; } else if(n==1) { return 1 ; } else { 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),如此来实现递归调用。
转载请注明原文地址:https://kaotiyun.com/show/Z3Np777K
0

最新回复(0)