首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成以下两个函数。 (1)fun1(int n)求出n的阶乘,必须使用递归调用。 (2)fun2(int n)求出n的阶乘,不能使用递归调用。如果n小于1则返回0。 注意:
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成以下两个函数。 (1)fun1(int n)求出n的阶乘,必须使用递归调用。 (2)fun2(int n)求出n的阶乘,不能使用递归调用。如果n小于1则返回0。 注意:
admin
2019-04-18
45
问题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成以下两个函数。
(1)fun1(int n)求出n的阶乘,必须使用递归调用。
(2)fun2(int n)求出n的阶乘,不能使用递归调用。如果n小于1则返回0。
注意:不能修改函数的其他部分。
试题程序:
#include
//必须使用递归
int funl(int n)
{
}
//不能使用递归
int fun2(int n)
{
}
void main()
{
int i;
cout<<"请输入一个整数:"<
cin>>i;
cout<<"输入数字的阶乘是:"<
cout<<"输入数字的阶乘是:"<
return;
}
选项
答案
//必须使用递归 int funl(int n) { if(n<=0) return 0; if(n==1) return 1; return n*funl(n-1); }; //不能使用递归 int fun2(int n) { if(n<===0) return 0; int res=1: for(int i=1;i(=n;i++) { res*=i: } return res; }
解析
本题考查的是递归函数和阶乘算法。递归的阶乘算法可以通过判断传入参数,如果大于1,则返回n*fun1(n-1),意思是返回n乘以n-1的阶乘;如果等于1,则返回1。这样递归下去就能最终得出n的阶乘。非递归算法可以先建立一个累乘变量,并初始化为1,然后循环遍历1~n,将遍历的数累乘到变量中即可。
转载请注明原文地址:https://kaotiyun.com/show/uZAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
数据库设计的根本目标是要解决
如下程序的输出是#include<iostream>usingnamespacestd;classBase{public:Base(){cout<<"BB";f();}voidf(){cout<
有如下类定义,请将Sample类的复制构造函数补充完整。classSample{public:Sample(){}~Sample(){if(P)deleteP;)Sample(constSamp
下列关于运算符重载的叙述中,正确的是
下列的方法中,不属于软件调试技术的是()。
数据库管理员(DBA)是数据库系统的一个重要组成部分,有很多职责。以下选项不属于DBA职责的是()
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
类中的一个字符指针成员指向具有m个字节的存储空间时,它所能存储的字符串的最大长度为()。A)m-2B)m-1C)mD)m+1
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。A)-369B)369C)0.369D)整数集合{1,2,3,4,5}
下列字符串中可以用作C++语言标识符的是
随机试题
高压闸板阀更换新钢圈时,新钢圈和钢圈槽内要抹()。
安全教育是企业为提高员工安全技术素质和(),搞好企业的安全生产和安全思想建设的一项重要工作。
下列有关遗传密码的叙述,正确的是
A.银翘散B.葱豉汤C.香砂六君子汤D.百合固金汤E.失笑散
本身具有固定的职业或工作,同时又接受保险人的委托,以保险人的名义代替保险人办理保险业务,向保险人收取代理手续费的单位或个人是( )。
不适于拍卖的抵债资产可以采取的变现方式不包括()。
2007年10月2日,邵某与丁某约定:邵某将100平方米的门面房卖给丁某,房价100万元。丁某支付房款后,邵某交付了门面房,但没有办理产权登记手续。丁某接收门面房作了简单装修,于2007年11月2日出租给叶某,租期为3年。2007年12月29日,邵某因病去
简述大脑的模块说。
研究表明,严重失眠者中90%爱喝浓茶。老张爱喝浓茶,因此,他很可能严重失眠。以下哪项最为恰当地指出了上述论证的漏洞?
Heistheonlyoneofthestudentswho______finishedthetaskintime.
最新回复
(
0
)