• 2021-04-14
    设有如下函数定义
    intfun(intk)
    {if(k<1)
    return0;
    elseif(k==1)
    return1;
    else
    returnfun(k-1)+1;
    }
    若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是_______。
  • 3

    内容

    • 0

      以下程序的运行结果为:int fun(int n){ if(n==1) return 1; else return fun(n-1)+1;} int main(){ int i,j=0; for(i=1;i<3;i++) j += fun(i); printf("%d\n",j); return 0;}

    • 1

      要求函数的功能是在长度为n一维数组a中查找x值;若找到则返回所在的下标值,否则返回-1;能正确执行此功能的函数是()。 A: int funa(int a[ ], int n, int x){while(a[n]!=x) n--;return(n);} B: int funb(int a[ ], int n, int x){int k;for(k=0;k<;n; k++)if(a[k]==x)return(k);return(-1);} C: int func(int a[ ], int n, int x){int k;k=n;while(a[k]!=x) k=k-1;return(k);} D: int fund(int a[ ], int n, int x){int k=0;do k++;while((k<;n)&amp;&amp;(a[k]!=x));if((k<;n)&amp;&amp;(a[k]==x)) return (k);else return(-1);}

    • 2

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

    • 3

      若已定义int k; 赋值语句 k=(k%2==0?1:0); 与( )语句不等价。 A: if (k%2==0) k=1; else k=0; B: if (k%2!=0) k=0; else k=1; C: if (k%2) k=0; else k=1; D: if (k%2) k=1; else k=0;

    • 4

      已知函数fun的定义如下:[br][/br]void fun(int x&#91;&#93;,int y)[br][/br]{ int k;[br][/br] for(k=0;k x&#91;k&#93;+=y;[br][/br]}[br][/br]若main函数中有声明int a&#91;10&#93;={10};及调用fun函数的语句,则正确的fun函数调用形式是( ). A: fun(a[],a[0]); B: fun(a[0],a[0]); C: fun(&a[0],a[0]); D: fun(a[0],&a[0]);