首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。
admin
2018-10-23
51
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:
(1)funl(int n);求出n的阶乘,必须使用递归调用。
(2)fun2(int n);求出n的阶乘,不能使用递归调用。
如果n小于1则返回0。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
1 #include<iostream.h>
2 //必须使用递归
3 int fun1(int n)
4 {
5
6 };
7 //不能使用递归
8 int fun2(int n)
9 {
10
11 }
12 void main()
13 {
14 int i;
15 cout<<’’请输入一个整数:’’<<end1;
16 cin>>i;
17 cout<<’’输入数字的阶乘是:’’<<fun1(i)<<end1;
18 cout<<’’输入数字的阶乘是:’’<<fun2(i)<<end1;
19 return;
20 }
选项
答案
1 int fun1(int n)//使用递归计算阶乘 2 { 3 if(n<=0)//n小于等于0,直接返回0 4 return 0; 5 if(n==1) //n等于1直接返回1 6 return 1; 7 return n*fun1(n-1);//n大于等于1。通过递归计算n! 8 }; 9 //不使用递归计算阶乘 10 int fun2(int n) 11 { 12 if(n<=0)//n小于0,直接返回0 13 return 0; 14 int res=1; //初始化阶乘存放变量res 15 for(int i=1;i<=n;i++) //通过循环计算n! 16 { 17 res*=i; 18 } 19 return res; 20 }
解析
(1)该程序功能是对阶乘的实现。其中,阶乘的计算公式定义为:
公式分为参数n是1和大于1的两种情况,例如:1的阶乘1!=1;5的阶乘5!=5×4×3×2×1。
(1)进入fun1函数,根据前面的定义,它对阶乘算法的实现可以分为三种情况,一是当n小于或等于0时,返回0即可;二是当n大于1时应该用什么程序来实现阶乘的计算;三是当n=1时,函数直接返回1即可。
(2)计算n!的值,先定义一个放阶乘值的变量res,初值为1,通过循环的方法,用累乘器“res*=i;”实现n!。
转载请注明原文地址:https://kaotiyun.com/show/wwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在类的对象被创建时,______函数会被自动调用。
假定A为一个类,则语句A(A&a);为该类______函数的原型说明。
有如下程序:#include<iostream>usingnamespacestd;classDA{intk;public:DA(intx=1):k(x){}~DA(){cout<<k;}
下面程序编译时发现ma[3]=9错误,其原因是______。#include<iostream.h>classFunArray{int*pa;//指向一个数组空问intsize;//数组元素个
如下程序编译时发生错误,错误的原因是show函数实现语句错误,则正确的语句应该为______。#include<iostream.h>classtest{private:inthum;public
在测试时,完全不考虑程序的内部结构和内部特征的测试方法称为_______测试方法。
在进行了任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态,其中只能用于检测输入操作的函数的函数名是
假定A为一个类,则语句A(A&a);为该类______函数的原型说明。
数据管理技术发展过程经过人工管理、文件系统和数据库系统3个阶段,其中数据独立性最高的是______阶段。
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
随机试题
女性患者,18岁,高中生,甲状腺功能亢进服他巴唑半年,症状已消失,甲状腺轻度肿大,因学习紧张常遗漏服药,今后的治疗方案应是
妊娠期淋病的治疗方案叙述不正确的是
甲诉乙的合同纠纷案件,经一审、二审法院的审理,甲胜诉。乙申请再审,法院经审查决定再审。再审过程中,乙提出反诉。对此,法院应如何处理?()
采取低价策略,一般以()为主目标。
工程量清单()是用来表述分部分项清单项目的实质内容,用于区分计价规范中同一清单条目下各个具体的清单项目。
保障人员生命安全的最基本的建筑消防系统是()。
中小板市场的推出和企业资产证券化产品的出现,是中国在建设多层次资本市场体系方面迈出的重要一步。( )
withthatthoughA.atremendousimpressionhadbeenmadeuponmeas【T1】______IhadrunintoapersonB.mixing【T2】______the
Thefitnessmovementthatbeganinthelate1960sandearly1970scenteredaroundaerobicexercise(有氧操).Millionsofindividual
ItoftenseemsthateveryoneinBritainhasamobilephone.Weusethemasalarmclocks,calculators,tohelpwithexamrevision
最新回复
(
0
)