首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数: int factorial(int n):求出n的阶乘,必须使用递归调用。 如果n小于1则返回0。 注意:不能修改函数的其他部分。 1 #include<
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数: int factorial(int n):求出n的阶乘,必须使用递归调用。 如果n小于1则返回0。 注意:不能修改函数的其他部分。 1 #include<
admin
2019-01-19
61
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数:
int factorial(int n):求出n的阶乘,必须使用递归调用。
如果n小于1则返回0。
注意:不能修改函数的其他部分。
1 #include<iostream.h>
2 #include<ctype.h>
3 int factorial(int n)
4 {
5
6 }
7 void main()
8 {
9 cout<<factoria1(1)<<end1;
10 cout<<factoria1(5)<<end1;
11 cout<<factoria1(0)<<end1;
12 return;
13 }
选项
答案
1 if(n<1) 2 { 3 return 0; 4 } 5 else if(n==1) 6 { 7 return 1; 8 } 9 else 10 { 11 return n*factorial(n-1); 12 }
解析
factorial(int n)求出n的阶乘,要求使用递归调用。递归调用是指在调用一个函数的过程中直接或间接地调用该函数本身,n的阶乘计算公式为:n!=n×(n-1)×(n-2)……2×1,即n!=n×(n-1)!,因此factorial(intn)的递归过程为:return n*factorial(n-1)。
(1)先考虑最简单的情况,n为1(或小于1)时返回值应该为1,即factorial(1)=1,这是递归结束条件,如果n大于1则递归调用自己。
(2)n>1时,此时递归函数调用自己,即factorial(n)=n*factorial(n-1),此时的函数的返回值是n*factorial(n-1),如此来实现递归调用。
转载请注明原文地址:https://kaotiyun.com/show/lgAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类声明:classXA{intX;public:XA(intn){x=n;}};classXB:publicXA{inty;public:XB(inta,intb)
下面关于for循环的正确描述是
C++语言类体系中,不能被派生类继承的有
下列不是描述类的成员函数的是
一个函数功能不太复杂但要求被频繁调用,应选用
在C++语言中,访问一个对象的成员所用的运算符是______,访问一个指针所指向的对象的成员所用的运算符是______。
冒泡排序算法在最好的情况下的元素交换次数为______。
下面关于模板的描述,错误的是
将E-R图转换到关系模式时,实体与联系都可以表示成
用树状结构表示实体之间联系的模型是
随机试题
“先天之本”与“后天之本”的关系是
肾上腺皮质腺瘤患者,已行腺瘤切除术,术后使用可的松替代治疗的期限多为
现代肿瘤化疗治疗水平是
下列病因中,不是奶牛酮病的病因是()。
设备质量监理方式按监理形式来划分,可以分为( )。
“建设有中国特色的社会主义”是在党的()上提出的。
在《幼儿园工作规程》所提出的教育目标中,“培养儿童活泼开朗的性格”属于()目标的范畴。
滨海市政府决定上马一项园林绿化工程,政府有关部门在调研论证的基础上,就特色树种的选择问题形成如下几项决定:(1)樟树、柳树至少选择一样。(2)如果不种桂树,那么就要种雪松。(3)如果种柳树,那么就要种桃树。(4)桃树
因材施教
A、Tea.B、Coffee.C、Milk.D、Beer.B问题问的是男士现在想喝什么?录音中提到了tea和coffee,但在提到tea后出现了两个关键词but(表转折)和prefer(更喜欢)。故coffee是男士现在喜欢喝的。故选B。
最新回复
(
0
)