首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果11小于1则返回0。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果11小于1则返回0。
admin
2015-05-30
70
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:
(1)funl(int n);求出n的阶乘,必须使用递归调用。
(2)fun2(int n);求出n的阶乘,不能使用递归调用。
如果11小于1则返回0。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
1 #include
2 //必须使用递归
3 int funl(int n)
4 {
5
6 };
7 //不能使用递归
8 int fun2(int n)
9 {
10
11 }
12 void main()
13 {
14 int i ;
15 cout<<”请输入一个整数:”<
16 cin>>i ;
17 cout<<“输入数字的阶乘是:”<< funl(i)<
18 cout<<"输入数字的阶乘是:"<< fun2(i)<
19 return;
20 }
选项
答案
1 int funl(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*fLlnl(n一1);//n大于等于1,通过递归计算n 1 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小于或等于O时,返回0即可;二是当n大于1时应该用什么程序来实现阶乘的计算;三是当n=1时,函数直接返回1即可。
(2)计算n!的值,先定义一个放阶乘值的变量res,初值为1,通过循环的方法,用累乘器“res*=i;”实现n!。
转载请注明原文地址:https://kaotiyun.com/show/XJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在面向对象方法中,类之间共享属性和操作的机制称为[]。
假定MyClass为一个类,那么下列的函数说明中,()为该类的析构函数。
用链表表示线性表的优点是()。
下面程序的输出结果是()。#include<iostream>usingnamespacestd;intmain(){intn=10;while(n>7){n--;cout<<
程序段的输出结果是【】。inta=12,b=12;cout<<--a<<“”<<++b;
输入流对象是输出流的源头,下面______不是输入流类。
以下程序的执行后,x和y的值是______。#include<iostream.h>classSample{public:intx;inty;
以下函数模板max的功能是:返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)
已知在函数func中语句this->ff=0;与语句ff=O;的效果完全相同。对于这一现象,下列表述中错误的是
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为【】的。
随机试题
突然起病,常有精神创伤诱发,情绪安定后症状可缓解,无人注意时,可自然复位晨起、精神紧张后症状较重,入睡后可消失,可伴肌肉肥大,脑脊液检查正常
《检测和校准实验室能力的通用要求》(ISO/IEC17025:2017)适用于所有从事实验室活动的组织,不论其人员数量多少()。
持票人应当自收到被拒绝承兑或者被拒绝付款的有关证明之日起3日内,将被拒绝事由书面通知其前手;其前手应当自收到通知之日起3日内书面通知其再前手。持票人未按照规定期限发出追索通知的,丧失对前手的追索权。()
发行可转换债券公司设置赎回条款的目的包括()。
世界各国发展水平之间的不平衡_______,表现为一种经济差距_______技术差距,同时_______表现为一种知识差距、教育差距,_______两者之间日趋表现出互为因果的关系。填入画横线部分最恰当的一项是()。
据交通部门去年对全国十大城市的统计,S市的汽车交通事故率最低。S市在前年实施了汽车特殊安检制度,提高了安检的标准和力度。为了有效降低汽车交通事故率,其他大城市也应该像S市那样,对本市的汽车实施特殊安检。以下哪项如果为真,最能削弱上述论证?
设x=eacosv,y=eusinv,z=uv.试求
LisaFryandPaulaTurnergrewupacrossthestreetfromeachotherinTwinFalls.Theynever【C1】______theirfriendshipwouldl
A、GoonadivingtourinEurope.B、Add300dollarstohisbudget.C、Traveloverseasonhisown.D、JoinapackagetourtoMexico.
Thathealthandbeautyarelinkedisnotindoubt.Butitcomesassomethingofasurprisethatwhois【C1】______asbeautifuldep
最新回复
(
0
)