对于以下递归函数f,intf(intn){returnf(n-1)+n;},调用f(4),其返回值为()A、10B、11C、0D、以上均不是
对于以下递归函数f,intf(intn){returnf(n-1)+n;},调用f(4),其返回值为()
- A、10
- B、11
- C、0
- D、以上均不是
相关考题:
●已知递归函数f(n)的功能是打印n,n-1,…,1,且n=1,应采用的代码段是 (42) 。(42) A.if n1 then f(n-1);printf("%d",n);B.if n1 then f(n+1);printf("%d",n);C.printf("%d",n);if n1 then f(n-1);D.printf("%d",n);if n1 then f(n+1);
若有以下程序includevoidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf("%d\n",n);}则以下叙述中不的是()。 A、若只在主函数中对函数f进行说明,则只能在主函数中调用函数fB、若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以调用函数fC、对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明D、函数f无返回值,所以可用void将其类型定义为无值型
已知递归函数f 的定义如下:int f (int n){If(n=1)return 1;//递归结束情况else return n*f(n-2);//递归}则函数调用语句f(5)的返回值是( )。
( 8 )已知递归函数 f 的定义如下:int f(int n){if (n = 1) return 1; // 递归结束情况else return n * f(n-2); // 递归 }则函数调用语句 f(5) 的返回值是 【 8 】 。
已知递归函数f的定义如下:int f(int n){if(n<= 1)return 1;//递归结束情况f5=5*f3=5*3*f1else return n*f(n-2); //递归}则函数调用语句f(5)的返回值是______。
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成以下两个函数。 (1)funl(intn)求出n的阶乘,必须使用递归调用。 (2)fun2(intn)求出n的阶乘,不能使用递归调用。如果n小于1则返回0。 注意:不能修改函数的其他部分。 试题程序: includeiostream.h //必须使用递归 intfunl(intn) { } //不能使用递归 intfun2(intn) { } voidmain { inti; cout"请输入一个整数:"endl; cini; cout"输入数字的阶乘是:"funl(i)endl; cout"输入数字的阶乘是:"fun2(i)endl; return; }
( 9 )下面的函数利用递归实现了求 1+2+3+ …… +n 的功能:int sum ( int n ) {if ( n==0 )return 0;elsereturn n+sum ( n-1 ) ;}在执行 sum ( 10 )的过程中,递归调用 sum 函数的次数是【 9 】 。
若有以下程序#includevoidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf(“%d\n“,n);}则以下叙述中不正确的是()A、若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB、若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC、对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明D、函数f无返回值,所以可用void将其类型定义为无值型
有以下程序includestdio.hintf(intt[],intn);main(){inta[4]={1,2,3,4},s;s=f(a,4);printf(“%d\n“,s);}intf(intt[],intn){if(n0)returnt[n-1]+f(t,n-1);elsereturn0;}程序运行后的输出结果是()。 A、4B、10C、14D、6
计算斐波那契数列第n项的函数定义如下: intfib(intn){ if(n==0)returnl; elseif(n==l)return2: elsereturnfib(n-1)+fib(n-2); } 若执行函数调用表达式fib(2),函数fib被调用的次数是( )。A.1B.2C.3D.4
下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!cn*(n-1)*...*2*1)unsigned fact(unsigned n){if (n<=1)return 1;return 【 】;}
有以下程序:includeintf(intn)} if(n==1)return 1;else return f(n-1)+1;}main(){int 有以下程序: #include <stdio.h> intf(intn) } if(n==1) return 1; else return f(n-1)+1; } main() { int i,j=0; for(i=1; i<3; i++) j+=f(i); printf("%d\n",j); } 程序运行后的输出结果是( )。A.4B.3C.2D.1
若有以下程序includevoidf(intn);main() (voidf(intn); f(5); }void f(intn) {printf( 若有以下程序 #include <stdio.h> void f(int n); main() ( void f(int n); f(5); } void f(int n) { printf("%d\n",n); } 则以下叙述中不正确的是A.若只在主函数中对函数f进行说明,则只能在土函数中正确调用函数fB.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正碗调用函数fC.对于以上程序,编译时系统会提示出错信息:提示对f函数重复况明D.函数f无返回值,所以可用void将其类型定义为无值型
有以下程序,其中函数f的功能是将多个字符串按字典顺序排序:includevoidf(char*p[],in 有以下程序,其中函数f的功能是将多个字符串按字典顺序排序: #include<string.h> voidf(char*p[],intn) { char*t;int i,j; for(i=0;i<n-1;i++) for (j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0) { t=p[i]; p[i]=p[j]; p[j]=t; } } main() { char*p[5]={"abc"A.2B.3C.6D.4
已知递归函数f(n)的功能是计算1+2+…+n,且n≥1,应采用的代码段是______。A.if n>1 then return 1 else return n+f(n-1)B.if n>1 then return 1 else return n+f(n+1)C.if n<1 then return 0 else return n+f(n-1)D.if n<1 then return 0 else return n+f(n+1)
已知递归函数f(n)的功能是打印n,n-1,…,1,且n>=1,应采用的代码段是(42)。A.if n>1 then f(n-1); printf("% d",n);B.if n<1 then f(n+1); printf("% d", n);C.printf("% d",n); if n>1 then f(n-1);D.printf("% d", n); if n<1 then f(n+1);
递归函数f(n)的功能是计算1+2+…+n,且n≥1,则f(n)的代码段是(49)。A.if n>1 then return 1 else return n+f(n-1)B.if n>1 then return 1 else return n+f(n+1)C.if n>1 then return 0 else return n+f(n+1)D.if n<1 then return 0 else return n+f(n-1)
设n的初值为正整数,设计一个递归算法如下:int fact(int n){if(n<=0)return 1;else return(n*fact(n-1));}以下叙述中,正确的是______。A.计算fact(n)需要执行n+2次函数调用B.计算fact(n)需要执行n+1次函数调用C.计算fact(n)需要执行n次函数调用D.计算fact(n)需要执行n-1次函数调用
设函数f(χ)=(eχ-1)(e2χ-2)…(enχ-n),其中n为正整数,则f’(O)=( )。A、(-1)n-1(n-1)!B、(-1)n(n-1)!C、(-1)n-1n!D、(-1)nn!
关于递归定义的函数,下列说法正确的是()A、递归定义的函数一定是“递归计算”的B、递归定义的函数一定是“迭代计算”的C、有些递归定义的函数可以“迭代计算”,有些递归定义的函数则必须“递归计算”D、凡是可以“迭代计算”的函数,一定可以“递归计算”,凡是可以“递归计算”的函数,也一定可以“迭代计算”
单选题递归函数f(n)=f(n-1)+n(n1)的递归出口是()A f(1)=0B f(1)=1C f(0)=1D f(n)=n