首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include <iostream> using namespace std; long fib( int n ) { if(n>2) return ( fib( n-1 )+f
有以下程序: #include <iostream> using namespace std; long fib( int n ) { if(n>2) return ( fib( n-1 )+f
admin
2009-02-15
50
问题
有以下程序:
#include <iostream>
using namespace std;
long fib( int n )
{
if(n>2)
return ( fib( n-1 )+fib( n-2 ) );
else
return 2;
}
int main()
cout<<fib(3)<<end1;
return 0;
}
则该程序的输出结果应该是【 】。
选项
答案
4
解析
本题主要考查C++中递归函数。递归函数即自调用函数,在函数体内部直接或间接的自己调用自己,即函数的嵌套调用是函数本身。递归调用分为直接递归调用和间接递归调用两种形式。本题程序为求解典型递归数列Fibonacci数列中任意项值的简化程序(主函数中的调用改成flb(n)即变成求解任意项值)。主函数通过调用 fib()函数,fib()函数内部再通过一个分支结构判断是否进行递归调用或退出递归调用,调用方式为直接递归调用。主函数通过实参将值3赋给fib()函数的形参n,由于 n=3满足if分支语句条件,因此函数进行递归调用,即计算fib(2)和fib(1)的值;将2赋给fib()函数的形参后,由于n=2不满足if分之语句条件,因此程序退出递归,返回2;将1赋给fib()函数的形参后,函数同样返回2。因此函数递归调用的最终结果为返回2+2=4,即fib(3)=4,程序最后输出值为4。
转载请注明原文地址:https://kaotiyun.com/show/dOkp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
给定程序MODI1.C中函数fun的功能是:判断一个整数是否足素数,若足返回1,否则返回0。在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数。不得增行或删行,也
有以下程序#include<stdio.h>main(){chara=3,b=6,c;c=(a^b)<<2;printf("%d\n",c);}程序运行后的输出结果是
设有如下定义:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是()。
下面结构体的定义语句中,错误的是()。
软件生命周期是指()。
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为
有以下程序#include<stdio.h>ma:in(){ints,t,A=10;doubleB=6:s=sizeof(A);t=sizeof(B);printf(’’%d,%d\n’’,s,t);}在VC6平台上编译运行,程序
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。
设表的长度为20。则在最坏情况下,冒泡排序的比较次数为()。
给定程序MODII.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更
随机试题
下列不按五行相生顺序排列的是
浮大中空按之如葱管的脉象是
某甲欲杀死某乙,向某乙连砍数刀后,见乙倒地没有再动,以为某乙已死亡。后某乙被人及时抢救未死。某甲的行为属于:
法律禁止招用未满()周岁的未成人。
最早正式使用“班级”一词的是著名教育家()
法律的运行是一个从创制、实施到实现的过程。这个过程主要包括法律制定(立法)、法律遵守(守法)、法律执行(执法)、法律适用(司法)等环节。在法律运行中,最大量、最经常的工作是
A、 B、 C、 B
Heenjoys______onbusinesstripswithhisboss.
PassageThreeWhatdo"thoseinstitutions"inPara.6referto?
Forthispart,youareallowed30minutestowriteashortessay.Youshouldstartyouressaywithabriefdescriptionofthepi
最新回复
(
0
)