7、下面的函数利用递归实现了求1+2+3…..+n的功能: int sum(int n){ if(n==0 ) return 0; else return n+sum(n-1); } 在执行sum(10)的过程中,递归调用sum函数的次数是()。A.9B.10C.11D.8

7、下面的函数利用递归实现了求1+2+3…..+n的功能: int sum(int n){ if(n==0 ) return 0; else return n+sum(n-1); } 在执行sum(10)的过程中,递归调用sum函数的次数是()。

A.9

B.10

C.11

D.8


参考答案和解析
9

相关考题:

●试题八阅读以下说明和Java代码,将解答写入答题纸的对应栏内。【说明】下面的程序中定义了两个方法求自然数1~100的和。具体如下:int sum1(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。public class Sum{public static void main (1){//1.调用sum1(int n),求1~100的和//标准输出(2) ("1~100的和:"+sum1(100));//2.调用sum2(int n),求1~100的和//标准输出(2) ("1~100的和:"+sum2(100));}static int sum1(int n){int result=0;for(int i=1;i=n;i++)(3)retrun result;}static int sum2(int n){if (4)return 1;else(5)}}

已知递归函数f 的定义如下:int f (int n){If(n=1)return 1;//递归结束情况else return n*f(n-2);//递归}则函数调用语句f(5)的返回值是( )。

阅读以下说明和Java代码,将解答写入对应栏内。【说明】下面的程序中定义了两个方法求自然数1~100的和。具体如下:int suml(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。public class Sum {public static void main (1){//1. 调用sum1(int n),求1~100的和//标准输出(2) ("1~100的和:" +sum1(100));//2. 调用sum2(int n),求1~100的和//标准输出(2) ("1~100的和:"+sum2(100));}static iht sum1( int n){int result=0;for(int i=1;i<=n;i++)(3)retrun result;}static int sum2(int n){if (4)return 1else(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)的返回值是______。

( 9 )下面的函数利用递归实现了求 1+2+3+ …… +n 的功能:int sum ( int n ) {if ( n==0 )return 0;elsereturn n+sum ( n-1 ) ;}在执行 sum ( 10 )的过程中,递归调用 sum 函数的次数是【 9 】 。

已知递归函数fun的定义如下: int fun(int n) { if(n<=1)return 1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是( )。A.5B.12C.15D.30

( 21 )计算斐波那契数列第 n 项的函数定义如下:Int fib(int n){if (n == 0) return 1;else if (n == 1) return 2;else return fib(n-1)+fib(n-2);}若执行函数调用表达式 fib(2) ,函数 fib 被调用的次数是A ) 1B ) 2C ) 3D ) 4

请编写一个函数inline long sum(int n),用递归函数完成运算:sum(n)=1*1+2*2+…n*n,递归表达式为 sum(n)=sum(n-1)+n2。注意:部分源程序已存在文件test10_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。文件test10_2.cpp的内容如下:include<iostream.h>inline long sum(int n){}void main(){int n;cout<<"输入n:";cin>>n;cout<<"结果为:"<<sum(n)<<endl;}

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]编写一个函数,输入为偶数时,调用函数求1/2+?/+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n (利用指针函数)。[函数]include "stdio. h",main(){float peven (),podd (),dcall ();float sum;int n;while (1){scanf("%d",n);if (n>1)break;}if(n%2==0){printf("Even="):(1);}else{pfinff("Odd=");(2);}printf("%f",sum);}float peven (int n){float s;int is=1;for(i=2;i<=n;i+=2)(3);return (s);}float podd (n)int n;{float s;int i;s=0;for(i=1 i<=n;i+=2)(4);return (s);}float dcall(fp,n)float (*fp) ();int n;{float s;(5);returu (s);}

设有一个递归算法如下int fact(intn){//n 大于等于0 if(n<=0)return 1; else return n* fact(n--); }则计算fact(n)需要调用该函数的次数为(30)次。A.nB.n+1C.n+2D.n-1

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。【函数2.1说明】递归函数sum(int a[], int n)的返回值是数组a[]的前n个元素之和。【函数2.1】int sum (int a[],int n){if(n>0) return (1);else (2);}【函数2.2说明】有3个整数,设计函数compare(int a,int b,int c)求其中最大的数。【函数2.2】int compare (int a, int b, int c ){ int temp, max;(3) a:b;(4) temp:c;}【函数2.3说明】递归函数dec(int a[],int n)判断数组a[]的前n个元素是否是不递增的。不递增返回 1,否则返回0。【函数2.3】int dec( int a[], int n ){if(n<=1) return 1;if(a[0]<a[1]) return 0;return (5);}

以下程序通过函数sunFun求。这里f(x)=x2+1main( ){ printf("The sum=%d\n",SunFun(10)); }SunFun(int n){ int x,s=0;for(x=0;x<=n;x++) s+=F(【 】);return s;}F( int x){ return 【 】);}

设有一个递归算法如下 im fact(int n){ if(n<=0)return 1; else return n * fact(n-1); } 下面正确的叙述是(35)。A.计算fact(n)需要执行n次函数调用B.计算fact(n)需要执行n+1次函数调用C.计算fact(n)需要执行n+2次函数调用D.计算fact(n)需要执行n-1次函数调用

请编写一个函数int sum(int n),该函数完成1+2+3+…+n的运算,并返回运算结果,其中n>0。注意:请使用递归算法实现该函数。注意:部分源程序已存在文件:test11.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。文件test11_2.cpp的内容如下:include<iostream.h>int sum(int n){}void main(){int n;cout<<"输入n:";cin>>n;int result;sum(n);cout<<"结果为:"<<result<<endl;}

下面的程序中定义了两个方法求自然数1~100的和。具体如下:int suml(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。public class Sum{public static void main(String args[]){//1.调用suml(int n),求1~100的和System.out.println("1~100的和:"+sum1(100));//2,调用sum2(int n),求1~100的和System.out.println("1~100的和:"+sum2(100));}static int suml(int n){int result=0;for(int i=1;i<=n;i++)________________retrun result;}static int sum2(int n){if(______________)return 1;else_____________}}

能保证对所有的参数能够结束的递归函数是A.int f(int n){if(n<1)return 1;else return n*f(n+1);}B.int f(int n){if(n>1)return 1;else return n*f(n-1);}C.int f(int n){if(abs(n)<1)return 1;else return n*f(n/2);}D.int f(int n){if(n>1)return 1;else return n*f(n*2);)

设有一个递归算法如下: int fact(int n){ if(n<=0)return 1; else return n*fact(n-1); } 下面正确的叙述是(35)。A.计算fact(n)需要执行n次函数调用B.计算fact(n)需要执行n+1次函数调用C.计算fact(n)需要执行n+2次函数调用D.计算fact(n)需要执行n-1次函数调用

已知递归函数fun的定义如下: int fun(int n) { if(n<=1)return1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是( )。A.5B.12C.15D.30

下面 ______ 是正确的递归函数,它保证对所有的参数能够结束。A.int f(int n){ if(n<1) return 1; else return n*f(n+1); }B.int f(int n){ if(n>1) return 1; else return n*f(n-1); }C.int f(int n){ if(abs(n)<1) return 1; else return n*f(n/2); }D.int f(int n){ if(n>1) return 1; else return n*f(n*2); }

下列函数中,哪项是正确的递归函数( )。A int Fun(int n){if(n<1) return 1;else return n*Fun(n+1);}B) int Fun(ira n){if(abs(n)<1) return 1;else return n*Fun(n/2);}C) int Fun(int n){if(n>1) return 1;else return n*Fun(n*2)1}D) int Fun(int n){if(n>1) return 1;else retun n*Fun(n-1);}A.AB.BC.CD.D

递归函数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为整数defsum(n):ifn A.功能等价于下面的函数#n为整数defsum2(n):return(1+n)*n/2B.sum(5)是函数调用C.是递归函数D.求任意两个数值n和n-1的和

设n的初始值为正整数,设计一个递归算去如下: int fact (int n) { if (n<=0) return l; else return (n*fact (n-l)) ; 以下叙述中正确的是(49) 。A.计算fact(n)需要执行n次函数调用B.计算fact(n)需要执行n+l次函数调用C.计算fact(n)需要执行n+2次函数调用D.计算fact(n)需要执行n-l次函娄[调用

以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)例如,矩阵为:3 0 0 32 5 7 31 0 4 2则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。add(int m,int n,int arr[]){ int i,j,sum=0;for(i=0;ifor(j=0;jN;J++)sum=sum+ (7) ;for(j=0;jfor(i=1; (8) ;i++)sum=sum+arr[i*n+j];return(sum);}

设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次函数调用

设有一个递归算法如下: int fact(int n) {  //n大于等于0               if(n=0) return 1;               else return n*fact(n-1);        }  则计算fact(n)需要调用该函数的次数为()A、 n+1B、 n-1C、 nD、 n+2

单选题设有一个递归算法如下: int fact(int n) {  //n大于等于0               if(n=0) return 1;               else return n*fact(n-1);        }  则计算fact(n)需要调用该函数的次数为()A n+1B n-1C nD n+2