首页/ 题库 / [单选题]已知递归函数f(n)的功能是计算1+2+的答案

已知递归函数f(n)的功能是计算1+2+…+n,且n≥1,应采用的代码段是______。

单选题
2022-01-13 00:42
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)
查看答案

正确答案
C

试题解析
解析:递归函数的目的是执行一系列调用,一直到达某一点,序列终止。为了保证递归函数正常执行,应该遵守下面的规则:  (1)每当一个递归函数被调用时,程序首先应该检查其基本的条件是否满足,例如,某个参数的值等于零,如果是这种情形,函数应停止递归。  (2)每当函数被递归调用时,传递给函数一个或多个参数,应该以某种方式变得“更简单”。即这些参数应该逐渐靠近上述基本条件。例如,一个正整数在每次递归调用时会逐渐变小,以至最终其值能到达零。  在本题中,f(n)的功能是解决1+2+…+n的累加问题,可用下面的递归公式表示f(n):               f(n)=0      (n=0)               f(n)=n+f(n-1)  (n1)  因此可知,f(n)应采用的代码段为:  if n1  then return 0  else return n+f(n-1)。

标签:
感兴趣题目
用递归算法实现n个相异元素构成的有序序列的二分查找,采用一个递归工作栈时,该栈的最小容量应为______。
设f(x)=x(x+1)(x+2)…(x+n),则f′(0)=____。
设f(x)=x(x+1)(x+2)…(x+n),则f′(0)=____.
设变量已正确定义,则以下能正确计算f=n!的程序段是 ______。
设变量已正确定义,则以下能正确计算f=n!的程序段是______。
设变量已正确定义,则以下能正确计算n!的程序段是______。
有如下程序 main() { int n[5]={0,0,0},i,k=2; for(i=1;i<3;i++)n[i]=n[i]+1; printf("%d ",n[k]); }该程序的输出结果是______。
已知以下程序段的运行结果为“654321”,则下划线所在位置应填入的代码是()
#define N 6
int a[N]={1,2,3,4,5,6},i,t;
for(i=0;i<________;i++){t=a[i];a[i]=a[N-i-1];a[N-i-1]=t;}
for(i=0;i
已知有一维数组T[0..m*n-1],其中m>n。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1..m]中,即B[1]=T[0],D[2]=T[n],依此类推,那么放入B[k](1≤k≤n)的元素是______。
已知有一维数组T[0...m*n-1],其中m>n。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1...m]中,即B[1]=T[0],B[2)= T[n],依次类推,那么放入B[k](1≤k≤m)的元素是______。
有以下程序 #include <stdio.h> #define N 5 #define M N+1 #define f(x) (x*M) main() { int i1,i2; i1=f(2) i2=f(1+1); printf("%d %d ",i1,i2); } 程序的运行结果是______。
设函数y=1/(2x+3),则y(n)(0)=____。
相关题目
函数String(n,"str")的功能是_______。
设有:int a=1, b=2, c=3, d=4, m=2, n=2; 执行 (m=a>b)&&(n=c>d)后n的值为_______。
设n=10,i=4,则赋值运算 n%=i+1执行后,n的值是_____
设函数f:N→N(N 为自然数集),f(n)=n+1,则f是___射
有如下代码,当代码中_[关键字]_分别为break、continue、return时,最后的print@n输出的值为什么? declare@nintset@n=3 while@n〉0 beginset@n=@n-1if@n=1_[关键字]_ end print @n
若字符串s的长度为n(n>1)且其中的字符互不相同,则s的长度为2的子串有______个。
设int n=11, i=4;, 则武值运算n%=i+1 n%=i+1执行后n的值是 ______。
函数过程n的功能是:如果参数b为奇数,则返回值为1,否则返回值为0。以下能正确实现上述功能的代码的是______。
设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________
下列程序段的执行结果为_______。 N=0 For I=1 To 3 For J=5 To 1 Step -1 N=N+1 Next J Next I Print N;J;I
假定有以下程序段 n=0 for i=1 to 3 for j=-4 to -1 n=n+1 next j next i 运行完毕后,n的值是________。
以下程序的运行结果是______。 main() { char n=0x20; printf("%d ",n=n<<1); }
在具有n(n>1)个结点的完全二叉树中,结点i(2i>n)的左孩子结点是______。
设A为n阶方阵,E为n阶单位矩阵,且A2=A,则(A-2E)-1=____.
设有以下宏定义: #define N 3 #define Y(n) ((N+1)*n)则执行以下语句后,z的值为______。 z=2*(N+Y(3+2));
已知递归函数f(n)的功能是打印n,n-1,…,1,且n>=1,应采用的代码段是(42)。
递归函数f(n)的功能是计算1+2+…+n,且n≥1,则f(n)的代码段是(49)。
已知递归函数f(n)的功能是计算1+2+…+n,且n≥1,应采用的代码段是______。
●已知递归函数f(n)的功能是打印n,n-1,…,1,且n>=1,应采用的代码段是 (42) 。
●已知递归函数f(n)的功能是打印n,n-1,…,1,且n>=1,应采用的代码段是 (42) 。
广告位招租WX:84302438

免费的网站请分享给朋友吧