首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果11小于1则返回0。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果11小于1则返回0。
admin
2015-05-30
66
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:
(1)funl(int n);求出n的阶乘,必须使用递归调用。
(2)fun2(int n);求出n的阶乘,不能使用递归调用。
如果11小于1则返回0。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
1 #include
2 //必须使用递归
3 int funl(int n)
4 {
5
6 };
7 //不能使用递归
8 int fun2(int n)
9 {
10
11 }
12 void main()
13 {
14 int i ;
15 cout<<”请输入一个整数:”<
16 cin>>i ;
17 cout<<“输入数字的阶乘是:”<< funl(i)<
18 cout<<"输入数字的阶乘是:"<< fun2(i)<
19 return;
20 }
选项
答案
1 int funl(int n)//使用递归计算阶乘 2 { 3 if(n<=0) //n小于等于0,直接返回0 4 retUrn 0 ; 5 if(n==1) //n等于1直接返回1 6 return 1; 7 return n*fLlnl(n一1);//n大于等于1,通过递归计算n 1 8 }; 9 //不使用递归计算阶乘 10 int fun2(int n) 11 { 12 if(n<=0) //n小于0,直接返回0 13 return 0; 14 int res=1 ; //初始化阶乘存放变量res 15 for(int i=1 ; i<=n;i++) //通过循环计算n ! 16 { 17 res*=i ; 18 } 19 return res; 20 }
解析
(1)该程序功能是对阶乘的实现。其中,阶乘的计算公式定义为:
公式分为参数n是1和大于1的两种情况,例如:1的阶乘1 !=1;5的阶乘5 !=5×4×3×2×1。
[解题思路]
(1)进入fun1函数,根据前面的定义,它对阶乘算法的实现可以分为三种情况,一是当n小于或等于O时,返回0即可;二是当n大于1时应该用什么程序来实现阶乘的计算;三是当n=1时,函数直接返回1即可。
(2)计算n!的值,先定义一个放阶乘值的变量res,初值为1,通过循环的方法,用累乘器“res*=i;”实现n!。
转载请注明原文地址:https://www.kaotiyun.com/show/XJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
程序流程图(框图)中的箭头代表【】。
下列关于运算符重载的描述中,正确的是()。
数据库系统支持数据的逻辑独立性,依靠的是()。
假定MyClass为一个类,那么下列的函数说明中,()为该类的析构函数。
下列类的定义中,有()处语法错误。classBase{publiC:Base(){}Base(inti){data=i;}ptivate:
已知outfile是一个输出流对象,要想将outfile的文件指针定位到当前位置之前321字节处,正确的函数调用语句是______。
数据库设计的根本目标是要解决______。
在进行任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()。
关于在调用模板函数时实参的使用,下列表述中正确的是
在关系数据库中,用来表示实体之间联系的是
随机试题
InBritain,peoplehavedifferentattitudestothepolice.Mostpeoplegenerally【C1】______themandthejobtheydo—althoughther
《纽伦堡法典》是1946年审判纳粹战犯的纽伦堡军事法庭决议的一部分,涉及人体试验的十条道德要求,其第一条是()。
患者男,65岁,以双下肢水肿1个月入院,化验结果为:Hb100g/L,血白蛋白20g/L,24h尿蛋白定量12g。追问病史,患者有糖尿病史15年,慢性乙型肝炎史20年,否认有药物食物过敏史,近期无皮肤紫癜出现。现患者的诊断暂可除外
据子母补泻法,肾经实证应取
以下各项中,属于建设项目筹集权益资金方式的是()。
A公司中标一城市主干道拓宽改造工程,道路基层结构为150mm石灰土和400mm水泥稳定碎石,面层为。150mm沥青混凝土。总工期为7个月。开工前,项目部做好了施工交通准备工作,编制了交通导行方案,以减少施工对群众社会经济生活的影响;同时根据有关资料,结啥-
_____asportsmeetlastSunday?Yes,they______.
根据我国现行宪法的规定,国家对非公有制经济发展的指导方针是( )。
(1)用命令新建一个名为“外汇”的数据库,并将该命令存储于one.txt中。(2)将自由表“外汇汇率”、“外汇账户”、“外汇代码”加入到新建的“外汇”数据库中。(3)用SQL语句在“外汇”数据库中新建一个数据库表rate,其中包含4个字
Bytheyear200,scientistsprobably______aneffectivetreatmentforcancer.
最新回复
(
0
)