首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数: int factorial(int n):求出n的阶乘,必须使用递归调用。 如果n小于1则返回0。 注意:不能修改函数的其他部分。 #include<iostream.h> #in
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数: int factorial(int n):求出n的阶乘,必须使用递归调用。 如果n小于1则返回0。 注意:不能修改函数的其他部分。 #include<iostream.h> #in
admin
2019-05-29
509
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数:
int factorial(int n):求出n的阶乘,必须使用递归调用。
如果n小于1则返回0。
注意:不能修改函数的其他部分。
#include<iostream.h>
#include<ctype.h>
int factorial(int n)
{
}
void main()
{
cout<<factorial(1)<<endl;
cout<<factorial(5)<<endl;
cout<<factorial(0)<<endl;
return;
}
选项
答案
if (n<1) { return0; } else if(n==1) { return1; } elsse { 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://www.kaotiyun.com/show/AB8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 D此题考查的是派生类的构造函数和析构函数。在撤销派生类对象时,析构函数的执行过程和构造函数严格相反,即:对派生类新增普通成员进行清理;调用成员对象析构函数,调用基类析构函数对基类进行清
A、 B、 C、 D、 Dthis指针是成员函数所属对象的指针,它指向类对象的地址;它隐含于每个类的非静态成员函数中;this指针只能在类的成员函数中使用,它指向该成员函数被调用的对象:静态成员函数没有thi
A、 B、 C、 D、 B构造函数A中的形参a对静态成员a形成了屏蔽,故只有在成员函数init()中才将静态成员a的值修改为1,而在其他成员函数中没发生变换,故obj.a=1。
A、 B、 C、 D、 C在数据字典编制过程中,常使用定义方式描述数据结构。
基类对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用基类的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。所以本题填:基类。
内聚性衡量软件的独立性使用耦合性和内聚性两个定性的度量标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来度量模块内的联系。耦合性是模块间互相连接的紧密程度的度量。
关系模型数据库系统模型有3种,分别为:层次模型、网状模型和关系模型。其中,层次模型用树型结构表示,网状结构用无向图表示,关系模型用二维表表示。
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:#include<iostream>usingnamespaees
下列字符串中,正确的C++标识符是()。
随机试题
不属于二尖瓣狭窄的体征是
Onlywhenyougetaspecialpermit________aninterviewwiththeprimeminister.
我国的造纸术传入欧洲是在()
A.激发光B.发射光C.两者均有D.两者均无下列生化检验技术在检测过程中有哪些光参与化学发光免疫分析
患者,男,工人。因在施工中头部被砸伤,出血不止,急诊来院。经检查,沿发际外侧有一纵行裂口,长约3.5cm,需清创缝合。上述血管神经位于颅顶部软组织的哪一层
用平车搬运腰椎骨折病人,下列措施哪项不妥
情感性精神障碍具有以下特点
根据委托,( )负责组织评审组对申请甲级和乙级资格的设备监理单位进行评审。
教师的根本任务是()。
有以下程序:intfun1(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=fun1(x);b=fun1(y);retu
最新回复
(
0
)