首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
52
问题
使用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全国计算机二级
相关试题推荐
已知下列程序的输出结果是42,请将横线处缺失的部分补充完整。#include<iostream>usingnamespacestd;classFoo{intvalue;p
在多继承的基类和派生类中同时出现______存在二义性。
下面程序的结果为#include"iostream.h"voidchange(inta,intB){inttemp;temp=a;a=b;b=temp;}voidm
下列叙述中,正确的是
在下面横线上填上适当的语句,完成程序。#include<iostream>usingnamespacestd;classBase{intx;public:Base(int0{x=i;}~B
下列叙述中错误的是()。
派生类构造函数的执行顺序是先执行______的构造函数,然后执行成员对象的构造函数,最后执行______的构造函数。
算法的空间复杂度是指()。
对于下面定义的类MyClass,请在函数f()中添加对象成员把n的值修改为50。ClassMyClass{Public:MyClass(intx){n=x;)VoidSetNum(intnl){n=nl;}
随机试题
根据刑法及相关司法解释,下列情形哪些不能构成犯罪?
在引起消化性溃疡的损害因素中,占主导地位的是
A、粉剂B、糖浆剂C、胶囊剂D、包衣片E、缓控释片(胶囊)需向患者交代不宜置于口中久含,以免影响其剂型设计目的的是()。
以地下水为水源的饮用水处理工艺中,经常由于水中铁量超标而设置除铁单元。通常的除铁处理工艺流程中不包括()。
如果股票价格上升,则该股票的看跌期权价格(),它的看涨期权价格()
在有限责任公司中,新加入投资者的出资额大于其在注册资本中实际享有份额的原因有()。
在随机模型下,当现金余额在最高控制线和最低控制线之间波动时,表明企业现金持有量处于合理区域,无需调整。()
公安机关群众工作的任务,大致包括()
我国的三家政策性银行是:
在一个按字节编址的计算机中,若数据在存储器中以小端方案存放。假定int型变量i的地址为08000000H,i的机器数为01234567H,地址08000000H单元的内容是()。
最新回复
(
0
)