有以下程序 void fun(int n,int p) int f1,f2 if(n==1||n==2) p=1 else fun(n-1,
举一反三
- 下列函数中,哪项是正确的递归函数( )。 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);
- 以下程序的输出结果是( ). int fun(int n,int *s) { int f1,f2; if(n==0‖n==1) *s=1; else { fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; } } main( ) { int x; fun(6,&x); printf("\n%d" ,x); }
- 下述程序的结果是_______。 fun(int n) { if(n==1) return (1); else return(n*fun(n-1)); } int main() { int i=5; printf(“%d”,fun(i); }
- 以下程序的运行结果为: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;}
- 在下列程序中,调用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)); }