首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数: int factorial(int n):求出n的阶乘,必须使用递归调用。 如果n小于1则返回0。 注意:不能修改函数的其他部分。 I #i
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数: int factorial(int n):求出n的阶乘,必须使用递归调用。 如果n小于1则返回0。 注意:不能修改函数的其他部分。 I #i
admin
2015-05-30
15
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数:
int factorial(int n):求出n的阶乘,必须使用递归调用。
如果n小于1则返回0。
注意:不能修改函数的其他部分。
I #include
2 #include
3 int factorial(int n)
4 {
5
6 }
7 void main()
8 {
9 cout<
10 cout<
11 cout<
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(int n)的递归过程为:return n*factorial(n-1)。
[解题思路]
(1)先考虑最简单的情况,n为1(或小于1)时返回值应该为l,即factorial(1)=1,这是递归结束条件,如果n大于1则递归调用自己。
(2)n>1时,此时递归函数调用自己,即factorial(n)=n*factorial(n.1),此时的函数的返回值是n*factorial(n-1),如此来实现递归调用。
转载请注明原文地址:https://jikaoti.com/ti/vnE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知函数fp的原型是:intfp(charc,char*k=NULL,doubled=10.0);下列调用中正确调用fp的是
若有intx[5],*p=x;则数组元素x[3]可以表示为*(p+【】),也可以表示为p[3]。
程序流程图(框图)中的箭头代表【】。
下列情况中,不会调用拷贝构造函数的是()。
设有语句:charstr1[]="string",str2[8],*str3,*str4="string";,则下列对库函数strcpy调用不正确的是()。
下列有关指针的用法中错误的是()。
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1)中,在下面横线处填上适当语句,完成栈类模板的定义。template<classT>class
计算机软件是______。
已知在函数func()中语句this->ff=0;与语句ff=0;的效果完全相同。对于这一现象,下列表述中错误的是()。
关于抽象类,下列表述正确的是()。
随机试题
嵌顿性疝与绞窄性疝鉴别要点是
用于无菌操作或低温灭菌的安瓿一般须采用( )。
《2010年通则》把《2000年通则》贸易术语由原来的E、F、c、D四组分为两大类,一类适用于各种运输方式,另一类仅适用于:水运。其中,适用于各种运输方式的共有__________种:
资料一20世纪90年代,亚洲H国有近百家自行车企业转移到亚洲C国。留在H国的自行车企业采用多种路径实现了整体产业升级。这些路径主要有:(1)产业重新定位。形成产业分工模式。H国排名前三位的自行车厂商均在C国设厂。基于对自行车商品在“后工业社会”“休闲社
A、 B、 C、 D、 D题干图形交替有竖直对称轴与水平对称轴。
一、注意事项1.本试卷由给定资料与作答要求两部分构成。考试时限150分钟。满分100分。2.作答参考时限:阅读资料40分钟作答110分钟。3.仔细阅读给定资料,按作答要求依次作答。答案要写在指定位置。不在指定位置作答的,不得分。4.
在DSM-Ⅳ中,将神经性厌食症分为()
马克思主义的历史唯物主义指出,改革和革命是人类社会发展的重要动力。以下属于改革和革命共同之处的有()
VLAN在现代组网技术中占有重要地位,同一个VLAN中的两台主机(28)。
将考生文件夹下RMEM文件夹中的PRACYL.XLS文件移动到考生文件夹中,并改名为RMICRO.XLS。
最新回复
(
0
)