首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数: int factorial(int n):求出n的阶乘,必须使用递归调用。 如果n小于1则返回0。 注意:不能修改函数的其他部分。 1 #include<
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数: int factorial(int n):求出n的阶乘,必须使用递归调用。 如果n小于1则返回0。 注意:不能修改函数的其他部分。 1 #include<
admin
2019-01-19
76
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数:
int factorial(int n):求出n的阶乘,必须使用递归调用。
如果n小于1则返回0。
注意:不能修改函数的其他部分。
1 #include<iostream.h>
2 #include<ctype.h>
3 int factorial(int n)
4 {
5
6 }
7 void main()
8 {
9 cout<<factoria1(1)<<end1;
10 cout<<factoria1(5)<<end1;
11 cout<<factoria1(0)<<end1;
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(intn)的递归过程为: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://kaotiyun.com/show/lgAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于纯虚函数,下列表述中正确的是()。
下面程序的运行结果为()。#include<iostream.h>voidmain(){chara=‘3’;switch(A){case’3’:cout<<“3”;case’2’:cou
一个人有一个身份证号码,一个身份证号码对应一个人。实体“人”和实体“身份证号码”存在的联系是
关系数据库的关系演算语言是以______为基础的DML语言。
C++语言类体系中,不能被派生类继承的有
在C++语言中,访问一个对象的成员所用的运算符是______,访问一个指针所指向的对象的成员所用的运算符是______。
若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是
在C++语言中,表示一条语句结束的标号是
当使用fstrearn流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
将E-R图转换到关系模式时,实体与联系都可以表示成
随机试题
组织管理的必然产物是
下列肾小球滤过屏障的描述不正确的是
颈内动脉的分支不包括
本病例最可能的诊断为本病例感染的病原体可能为
A、光敏树脂粘合夹板B、钢丝结扎联合光敏树脂夹板C、夹板式可摘义齿D、固定桥连体E、全牙列可摘性夹板保持时间最短的松动牙固定方法用
计权等效连续感觉噪声级(LWECPN)与不同时段内的飞行架次数有关,下列时段划分正确的有()。
A、 B、 C、 D、 B
A、 B、 C、 D、 D
软件生命周期是指()。
TheVoynichManuscript,writteninthe15thcenturyinWesternEurope,isbeautifultolookat.Thepagesofthis"book"arefu
最新回复
(
0
)