更多“有如下程序:long fib(int n){ if(n>2)return(fib(n-1)+fib(n-2));else return(2);}main(){ print ”相关问题
  • 第1题:

    有如下程序:includelong fib(int n){if(n>2) return(fib(n-1) +fib(n-2) ) ; else

    有如下程序: #include<iostream.h> long fib(int n) { if(n>2) return(fib(n-1) +fib(n-2) ) ; else return(2) ;} void main( ) { cout < < nb(3) ;} 该程序的输出结果是

    A.2

    B.4

    C.6

    D.8


    正确答案:B
    解析:fib(3) =fib(2) +fib(1) ,而fib (2) 的返回值为2,fib(1) 的返回值也为2,故输出的fib (3) 的值为4。

  • 第2题:

    有如下程序 long fib(int n) { if(n>2)return(fib(n-1)-fib(n-2)); else return(1); } main() { printf("%d\n",fib(5)); }该程序的输出结果是______。

    A.-3

    B.-2

    C.-1

    D.0


    正确答案:C

  • 第3题:

    有如下程序: long fib(int n) {if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%ld\n",fib(3));} 该程序的输出结果是______。

    A.2

    B.4

    C.6

    D.8


    正确答案:B
    解析:函数fib内部有两个递归调用,当n=3时,fib(n-1)返回2,fib(n-2)也返回2,所以fib(n-1)+fib(n-2)的值为4。

  • 第4题:

    有如下程序:includelong fib(int n){if(n>2)return(fib(n-1)+fib(n-2)); else return(

    有如下程序: #include <stdio.h> long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是( )。

    A.2

    B.4

    C.6

    D.8


    正确答案:B
    解析:本题考查函数的递归调用。fib(3)=fib(2)+fib(1),而fib(2)的返回值为2,fib(1)的返回值也为2,故输出的fib(3)的值为4。

  • 第5题:

    有如下程序: long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%ld\n",fib(3)); }该程序的输出结果是______。

    A.2

    B.4

    C.6

    D.8


    正确答案:B
    解析:函数fib内部有两个递归调用,当n=3时,fib(n-1)返回2,fib(n-2)出返回2,所以fib(n-1)+fib(n-2)的值为4。