intfun(intk)
{if(k<1)
return0;
elseif(k==1)
return1;
else
returnfun(k-1)+1;
}
若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是_______。
举一反三
- 中国大学MOOC: int fun(int k){ if (k<1) return 0; else if(k==1) return 1; else return fun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( )。
- 设有如下函数定义 int fun( int k ) { if (k<1) ret...fun总共被调用的次数是_______。
- 设有如下函数定义若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是()。 A: 3 B: 2 C: 4 D: 5
- 下列函数中,哪项是正确的递归函数( )。 A: A int Fun(int n) B: if(n<1) return 1; C: else D: return n*Fun(n+1); E: B) int Fun(ira n) F: if(abs(n)<1) return 1; G: else H: return n*Fun(n/2); I: C) int Fun(int n) J: if(n>1) return 1; K: else L: return n*Fun(n*2)1 M: D) int Fun(int n) N: if(n>1) return 1; O: else P: retun n*Fun(n-1);
- 对于下面递归函数fun,调用fun(3) 的返回值是 。 fun(int n) { return ((n>0) ? 2*fun(n-1)+fun(n-2) : -1); }
内容
- 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)&&(a[k]!=x));if((k<;n)&&(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[],int y)[br][/br]{ int k;[br][/br] for(k=0;k x[k]+=y;[br][/br]}[br][/br]若main函数中有声明int a[10]={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]);