首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
59
问题
使用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://jikaoti.com/ti/32t0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
最简单的交换排序方法是
下列程序的执行结果为______。#include<iostream.h>voidmain(){cout.fill(‘*’);tout.width(10);cout<<“hello”<<endl;)
下列程序的输出结果是______。#include<iostream)usingnamespaceStd;ClassTest{public:Test(){cnt++;}~Test(){cnt--;}s
类中包含了一个静态成员函数,则main函数中和P.f1(P);语句具有同样功能的语句为______。#include<iostream.h>classM{public:M(intA){A=a;B+=a;}static
在深度为5的完全二叉树中,叶子结点的个数最多为______。
在表达式x-y中,"-"是作为非成员函数重载的运算符。若使用显式的函数调用代替直接使用运算符"-",这个表达式还可以表示为
以下选项中,与k=n++完全等价的表达式是
下列不是描述类的成员函数的是
以下叙述中不正确的是
下列数据结构中,能用二分法进行查找的是()。
随机试题
“七月派”的代表诗人之一,诗作以舒缓清丽著称的诗人是()
属于无形资产所特有的控制制度是()
A.仅对G一杆菌有效B.对结核杆菌有效C.对铜绿假单胞菌有效D.对立克次体有效E.对各种厌氧菌有效林可霉素的作用是
枳实消痞丸的臣药是
基础货币是()。
求助者的主要心理问题包括()。这段咨询最有可能是发生在()。
【2013年福建.单选】从课程的表现形式来看,校园文化属于()。
为什么许多鸟停在电线上却很安全?()
根据能力与先天禀赋和社会文化的关系,可以把能力分为()
Unlikethescientist,theengineerisnotfreetoselecttheproblemwhichinterestshim;hemustsolvetheproblemsastheyaris
最新回复
(
0
)