A: 13
B: 21
C: 55
D: 34
举一反三
- 在下列程序中,调用f(8)的值是_______。intf(intn){if(n==1)return(1);elseif(n==2)return(2);elsereturn(f(n-1)+f(n-2));} A: 34 B: 13 C: 21 D: 55
- 在下列程序中,调用f(5)的值是( ) int f(int n) { if(n==1) return(1); else if(n==2) return(2); else return(f(n-1)+f(n-2)); }
- 下面程序执行的结果是 。#include<;stdio.h>;int f(int );int main(){int z;z=f(5);printf("%d\n",z);return 0;}int f(int n){if(n==1||n==2)return 1;elsereturn f(n-1)+f(n-2);}
- 在下列程序中,调用f(5)的值是()intf(intn){if(n==1)return(1);elseif(n==2)return(2);elsereturn(f(n-1)+f(n-2));} A: (A) 8 B: (B) 7 C: (C) 10 D: (D)9
- int f( unsigned int n) { if ( n==0 || n==1 ) return 1; else return n*f(n-1);} A: O(1) B: O(n) C: O(n^2) D: O(n!)
内容
- 0
对于以下递归函数,调用f(4),其返回值为( )。int f (int n){if(n==1||n==0)return f(n-1)+f(n-2);elsereturn n+2;} A: 6 B: 13 C: 18 D: 25
- 1
使用递归函数计算n!(n=0,1,2,3,…)的是______ A: fac(int n) if(n==0)return 1; else for(i=1;i<=n;i++)f*=i; return f; } B: fac(int n) { if(n==0‖n==1)return 1; else return n*fac(n-1); } C: fac(int n) {int i=1,f=1; if(n==0)return 1; else do{f*=i;}while(i++<n); return f; } D: fac(int n) {int i=1,f=1; if(n==0)return 1; else while(1<=n)f*=i++; return f;
- 2
以下程序的输出结果是________。 int f(int n){ if(n>=10) return n; n=n*(n+1); return f(n)+n/2; } int main(void){ printf("%d",f(1)); return 1; } A: 67 B: 47 C: 51 D: 53
- 3
执行以下程序后,如果输入为1,则输出为,如果输入为0,则输出为,如果输入为4,则输出为。#include<;stdio.h>;int f(int n);int main(){int n;scanf("%d",&n);printf("%d\n",f(n));return 0;}int f(int n){if(n==0||n==1)return 1;elsereturn f(n-1)+f(n-2);}
- 4
以下程序的输出结果是_______。 int f(int n){ if(n<=1) return 0; n/=2; return f(n)+n; } int main(void){ printf("%d",f(7)); return 1; } A: 4 B: 3 C: 5 D: 6