• 2021-04-14
    以下程序的运行结果是()。
    #include
    intfact(intvalue);
    intmain()
    {printf('FACT(5):%d
    ',fact(5));
    printf('FACT(1):%d
    ',fact(1));
    fact(–5);
    return(0);
    }
    intfact(intvalue)
    {if(value<0){printf('FACT(–1):Error!
    ');return(–1);}
    elseif(value==1||value==0)return(1);
    elsereturn(value*fact(value–l));
    }
  • FACT(5);120
    FACT(1):1 FACT(–1):Error!

    内容

    • 0

      ()设有一个递归算法如下 int fact(int n) { //n大于等于0 if(n<=0) return 1; else return n*fact(n-1); } 则计算fact(n)需要调用该函数的次数为( )

    • 1

      已知函数Fact的程序如下,Fact(4)的值为_____。 1. Long Int Fact(int n) 2. { Long Int x; 3. If (n > 1) 4. { x = Fact(n-1); 5. return n*x; } 6. else return 1; 7. }

    • 2

      【填空题】下面程序段执行后,fact、sum的值分别是 、 int i,n,fact,sum; n=4; fact=1; sum=0; for(i=1;i<=n;i++) { fact=fact*i; sum+=fact; }

    • 3

      已知函数Fact的程序如下,在执行Fact(4)的过程中,Fact函数被调用的次数为_____。1. Long Int Fact(int n)2. { Long Int x;3. If (n > 1)4. { x = Fact(n-1);5. return (n+x)*2; }6. else return 1;7. }

    • 4

      中国大学MOOC:有如下递归函数fact(n),分析其时间复杂度为()。intfact(intn){if(n<=1)return1;elsereturn(n*fact(n-1));}