首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
51
问题
使用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://www.kaotiyun.com/show/uZAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类声明:classFoo{intbar;};则Foo类的成员bar是
有如下类定义:classSample{public:Sample();~Sample();private:Staticintdate:};将静态数据成员data初始化
程序流程图中的菱形框表示______。
下列对于软件的叙述中正确的是
若有定义语句:int*a,b;,则变量b的数据类型是______。
有如下程序:#include<iostream>usingnamespacestd;inti=1;classFun{public:staticinti;intvalue(){re
以下描述中,不是线性表顺序存储结构特征的是()
下列叙述中错误的是()。
运算符重载是对已有的运算符赋予多重的含义,所以()。
A、 B、 C、 D、 C通过调用友元函数,实现求解n!的算法。sum=5!+4!+3!+2!。
随机试题
在考生文件夹下有一个数据库文件“samp3.accdb”,里面已经设计了表对象“tEmp”、窗体对象“fEmp”、宏对象“mEmp”和报表对象“rEmp”。同时,给出窗体对象“fEmp”的“加载”事件和“预览”及“打印”两个命令按钮的单击事件代码,请按以下
肠结核的好发部位是( )。【2003、2004年考试真题】
患儿,男,10岁,头面部,四肢及会阴部火焰烧伤4小时,烧伤总面积50%BSA,深Ⅱ度20%,Ⅲ度30%,烦躁不安,手足湿冷,心率160次/分,呼吸25次/分,伤后无尿。选择的紧急处理是
Word文档默认的扩展名是()。
报名参加会计专业技术资格初级考试的人员,除了应具备规定的基本条件外,还必须具备教育部门认可的( )学历。
战略风险管理的基本假设不包括()。
根据《旅游投诉暂行规定》,跨行政区域的旅游投诉,必须由上一级旅游投诉受理机关协调指定管理机关。( )
运输运杂费结算作业的共同程序是()。
以下哪些法律可以作为我国基层群众自治的法律依据和法律保障()
Belowisasummaryofsomeofthemainpointsofthepassage.Readthesummaryandthenselectthebestwordorphrasefromthe
最新回复
(
0
)