首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
107
问题
使用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全国计算机二级
相关试题推荐
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素栈初始为空,top值为0,栈项元素在stack[top-]中,在下面横线处填上适当语句,完成栈类模板的定义。template<classT>classTstack{
在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为______。
已知类A有公用数据成员a,且有Aobj2;A*constptr=newA;则下列语句正确的是A)ptr->a=100;
以下选项中,与k=n++完全等价的表达式是
函数定义的格式是______函数名(形式参数表)函数体。
在C++语言中,表示一条语句结束的标号是
以下程序不用第三个变量实现将两个数进行对调的操作,划线处应为()。main(){inta,b;scanf(“%d%d”,&a,&b);cin>>a>>b;tout<<“a=”<<a<<“b=”<<b;
实体是信息世界中广泛使用的一个术语,它用于表示()。
在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快序执行速度,则应该选用()。
随机试题
已知向量组α1,α2,α3和β1,β2,β3,β4都是4维实向量,其中r(α1,α2,α3)=2,r(β1,β2,β3,β4)>1,并且每个βi与α1,α2,α3都正交.则r(β1,β2,β3,β4)=
石蜡切片中,可标记血管内皮的标志物应选
下列有关行政机关、司法机关的工作人员在国家赔偿中的主体地位的说法中正确的是()。
图中谱例出自河北沧州《茉莉花》,它被运用在哪一部管弦乐作品中?()
1946年,蒋介石政权设立“内政部警察总署”,将各省、市、县警察机关改为“公安局”。()
第二反抗期的主要指向是()
设空间曲线г是球面x2+y2+z2=R2与平面x+y+z=0的交线,则∫L(x2+y2-z2+2y)ds=()
Theprotectionofculturaldiversityfromapoliticalandeconomicpointofviewinfactbecamepressingwithglobalization,whi
A、 B、 C、 D、 DCisCoAironet1100系列接入点兼容802.11b与802.11g协议,工作在2.4GHz频段,使用CisCoIOS操作系统,A,B,C都正确,CiscoAiro-n
ThestoryinvolvesashipwreckontheWestcoastofAfrica.ThepassengersontheshipincludeacertainLordandLadyGreystoke
最新回复
(
0
)