以下程序的输出结果是______。A.54321B.12345C.1 2 3 4 5D.5 4 3 2 1 0 main() { int w=5;fun(w);

题目

以下程序的输出结果是______。

A.54321

B.12345

C.1 2 3 4 5

D.5 4 3 2 1 0 main() { int w=5;fun(w);printf("\n");} fun (int k) { if(k>0) fun(k-1); printf("%d"",k);}

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

第1题:

以下程序的输出结果是______

nt fun(int*x,int n)

{if(n==0)

return x[0];

else return x[0]+fun(x+1,n-1);

}

main()

{int a[]={1,2,3,4,5,6,7};

printf(“%d\n”,fun(a,3));

}


正确答案:

10

第2题:

以下程序的输出结果是 ( ) main( ) { int w=5;fun(w);printf("\n");} fun (int k) { if (k>0) fun (k-1); printf("%d",k); }

A.5 4 3 2 1

B.0 1 2 3 4 5

C.1 2 3 4 5

D.5 4 3 2 1 0


正确答案:B

第3题:

以下程序的输出结果是 【 17 】 。

int fun(int *x,int n)

{ if(n==0) return x[0];

else return x[0]+fun(x+1,n-1);

}

main( )

{ int a[]={1,2,3,4,5,6,7}; printf("%d\n",fun(a,3));}


正确答案:

第4题:

有以下程序: void fun(int a*a,int i,int i) {int t; if(i<j); {t=a[i];a[i]=a[j];a[j]=t; fun(a,++i,--j); } } main() {inta[]={1,2,3,4,5,6},i; fun(a,0,5); for(i=0;i(6;i++) cout<(a[i]; } 执行后输出结果是( )。

A.6 5 4 3 2 1

B.4 3 2 1 5 6

C.4 5 6 1 2 3

D.1 2 3 4 5 6


正确答案:A
解析: 本题采用递归函数的方式将数组中的元素进行倒置,正确答案为A。

第5题:

以下程序的输出结果是( )。 include void fun(int x) {if(x/2>0)fun(x/2); printf("%d",

以下程序的输出结果是( )。

include<stdio.h>

void fun(int x)

{ if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(3);printf("\n");

}


正确答案:13
13 解析:函数fun是一个递归函数。执行fun(3);,x=3,x/2=1>0,又调用f(1),此时,x=1,x/2=0,不满足继续递归调用的条件,输出1,返回到fun(3)中,输出3。所以本题的输出结果为13。

第6题:

有以下程序

int fun(int x[],int n)

{static int sum=0,i;

for(i=0;i<n;i++) sum+=x[i];

return sum;

}

main()

{int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);printf("%d\n",s);

}

程序执行后的输出结果是

A.45

B.50

C.60

D.55


正确答案:C
解析:内部静态变量是始终存在的,当函数被调用退出后,内部静态变量会保存数据,再次调用该函数时,以前调用时的数值仍然保留着。Fun(a,5)的值是15,再次调用后sum=15,所以Fun(b,4)=45,s=45+15=60。

第7题:

以下程序的输出结果是【】。 include using namespace std; void fun() {static int a=0

以下程序的输出结果是【 】。

include <iostream>

using namespace std;

void fun()

{

static int a=0;

a+=2;

cout<<a;

}

int main()

{

int CC;

for(CC=1;cc<4;CC++)

fun();

cout<<end1;

return 0;

}


正确答案:246
246 解析:本题考核函数调用和静态变量。在主函数中通过一个for循环调用了3次fun()函数。第1次调用fun()函数时,a的初始值为0,执行语句“a+=2;”后, a的值为2,输出2;第2次调用时,a的初始值为2,执行语句“a+=2;”后,a的值为4,最后输出4:第3次调用时,a的初始值为4,执行语句“a+=2:”后,a的值为6,最后输出6。

第8题:

有以下程序,程序执行后,输出结果是【11】

#include <stdio.h>

void fun (int *a)

{a[0=a[1];]}

main()

{int a[10]={10,9,8,7,6,5,4,3,2,1},i;

for(i=2;i>=0;i--) fun{&a};

for(i=0;i<10;i++) printf(“&d”,a);

printf(“\n”);

}


正确答案:
117777654321

第9题:

以下程序的输出结果是( )。 includefun(){ int a=0;a+=3;printf("%d",A); } main() {int

以下程序的输出结果是( )。

include<stdio.h>

fun()

{ int a=0;

a+=3;

printf("%d",A);

}

main()

{ int cc;

for(cc=1;cc<=4;cc++)

fun();

printf("\n");

}


正确答案:3 3 3 3
3 3 3 3 解析:本题考查for循环,for(cc=1;cc=4;cc++)表示循环4次,a+=3表示每次a的值增加3,但是子函数中没有将变量a定义为static类型,所以每次调用完子函数之后,变量a所做的改变都不能保存,这样在下一次调用子函数时,a的初值仍是0,所以不管调用多少次,子函数输出始终是3。

第10题:

下列程序的输出结果是()。 include int fun(int x) {int a; if(x==0‖x==1) return 3;

下列程序的输出结果是( )。

#include<stdio.h>

int fun(int x)

{ int a;

if(x==0‖x==1)

return 3;

else

a=x-fun(x-2) ;

return a;

}

void main()

{ printf("%d",fun(7) );

}

A.2

B.8

C.9

D.5


正确答案:A
解析:本题考查函数的递归调用。在函数递归调用时,fun(7):a=7-fun(5)→fun(5):a=5-fun(3)→ fun3:a=3-fun(1)→fun(1):a=3,反推回去fun(3):a=3-3=0→ fun(5):a=5-0=5→fun(7):a=7-5=2,最后的计算结果为2。

更多相关问题