以下程序的输出结果是 #include<iostream.h> long fun(int n) {long s;if(n=1||n=2)s=2; else s=

题目
以下程序的输出结果是 include long fun(int n) {long s;if(n=1||n=2)s=2; else s=

以下程序的输出结果是 #include<iostream.h> long fun(int n) { long s; if(n=1||n=2)s=2; else s=n-fun(n-1); return s; } void main( ) { cout<<fun(3);}

A.1

B.2

C.3

D.4

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序的输出结果是includelong fun(int n){long s;if(n=1||n=2)s=2:else s=n-fu

以下程序的输出结果是 #include<iostream.h> long fun(int n) {long s; if(n=1||n=2) s=2: else s=n-fun(n-1); return s; } void main() {cout<<fun(3);=

A.1

B.2

C.3

D.4


正确答案:A

第2题:

以下程序的输出结果是includelong fun(int n){long s; if (n=1||n=2)s=2; else s=n

以下程序的输出结果是 #include<iostream.h> long fun(int n) { long s; if (n=1||n=2)s=2; else s=n-fun(n-1); return s; } void main() {cout<<fun(3);}

A.1

B.2

C.3

D.4


正确答案:A
解析:题中fun函数进行了递归调用,第1次调用:fun(3)n=3s=3-fun(2),第二次调用时:fun(2)n=2s=2,返回第一次调用后,s=3-2=1。

第3题:

以下程序的输出结果是

#include<stdio.h>

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;

} }

void main()

{ int x;

fun(6,&x);

printf("\n%d",x);}

A.7

B.13

C.9

D.10


正确答案:B
解析:考查函数的递归调用。n=0或n=1是递归的终止条件,然后利用已知值逐步递推求出未知值。 通过传送地址值,在被调用函数中直接改变调用函数中的变量的值。

第4题:

有以下程序:includeiht fun(iht n,int*p){int f1,f2;if(n==1||,n==2)*p=1;else{fun(n-

有以下程序: #include<stdio.h> iht fun(iht n,int*p) { int f1,f2; if(n==1||,n==2)*p=1; else { fun(n-1,&f1);fun(n-2,&f2); *p=f1+f2; } } main() { int s; fun(3,&s); printf("%d\n",s); } 程序的运行结果是______。

A.2

B.3

C.4

D.5


正确答案:A
解析: 本题考查的重点是理解递归函数。fun()为递归函数,递归结束条件时n为1或2,从而fun(3,&s)得fun(2,&s)+fun(1,&s)=1+1=2,因此选项A是正确的。

第5题:

以下程序的输出结果是()。includeint fun(int n,int *s){ int f1,f2;if(n==0||n==1)*s=

以下程序的输出结果是( )。 #include<stdio.h> 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; } } void main() { int x; fun(6,&x); printf("\n%d" ,x);}

A.7

B.13

C.9

D.10


正确答案:B
解析:n=0或n=1是递归的终止条件。然后利用已知值逐步递推求出未知值。注意:通过传送地址值,在被调用函数中直接改变调用函数中的变量的值。

第6题:

以下程序的输出结果是includelong fun(int n){long s;if(n=1||n=2)s=2;else s=n-fu

以下程序的输出结果是 #include<iostream.h> long fun(int n) {long s; if(n=1||n=2) s=2; else s=n-fun(n-1): return s; } void main() {cout<<fun(3);=

A.1

B.2

C.3

D.4


正确答案:A

第7题:

以下程序的输出结果是includelong fun(int n){ long s;if(n==1||1n==2) s=2;else s

以下程序的输出结果是 #include<iostream.h> long fun(int n) { long s; if(n==1 | | 1n==2) s=2; else s=n-fun(n-1) ; return s; } void main( ) {cout < < fun(3) ;}

A.1

B.2

C.3

D.4


正确答案:A
解析:题中fun函数进行了递归调用,第1次调用:fun(3) n=3 s=3-fun(2) ,第二次调用时: fun(2) n=2 s=2,返回第一次调用后,s=3-2=1。

第8题:

以下程序的输出结果是includein[fun(int n,int *s){int n,f2;if(n==0‖n==1)*s=1;else{

以下程序的输出结果是 #include<stdio.h> in[fun(int n,int *s) {int n,f2; if(n==0‖n==1) *s=1; else {fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; }} void main() { int x; fun(6,&x); pfintf("\n%d",x);}

A.7

B.13

C.9

D.10


正确答案:B

第9题:

以下程序的输出结果是()。includelong fun(int n){long s;if(n==1||n==2)s=2;else s

以下程序的输出结果是( )。 #include<iostream.h> long fun(int n) {long s; if(n==1||n==2)s=2; else s=n-fun(n-1); return s; } voidmain(){cout<<fun(3);}

A.1

B.2

C.3

D.4


正确答案:A
解析: 题中fun函数进行了递归调用,第1次调用:fun(3)n=3 s=3-fun(2),第二次调用时:fun(2)n=2 s= 2,返回第一次调用后,s=3-2=1。