首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)fun1(int n1;求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)fun1(int n1;求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。
admin
2017-03-22
49
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:
(1)fun1(int n1;求出n的阶乘,必须使用递归调用。
(2)fun2(int n);求出n的阶乘,不能使用递归调用。
如果n小于1则返回0。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
//必须使用递归
int funl(int n)
{
};
//不能使用递归
int fun2(int n)
{
}
void main()
{
int i;
cout<<"请输入一个整数:"<
cin>>i;
tout<<"输入数字的阶乘是:"<<
fun1(i)<
cout<<"输入数字的阶乘是:"<<
fun2(i)<
return;
}
选项
答案
int funl(int n)//使用递归计算阶乘 { if(n<=0)//n小于等于0,直接返回0 return 0; if(n==1) //n等于1直接返回1 return 1; return n*funl(n-1);//n大于等于1,通过递归计算n! j; //不使用递归计算阶乘 int fun2(int n) { if(n<=0)//n小于0,直接返回0 return 0; int res=1; //初始化阶乘存放变量res for(int i=1;i<=n;i++) //通过循环计算n! { res*=i; } return res; }
解析
(1)进入fun1函数,根据前面的定义,它对阶乘算法的实现可以分为三种情况,一是当n小于或等于0时,返回0即可;二是当n大于1时应该用什么程序来实现阶乘的计算:三是当n=1时,函数直接返回1即可。
(2)计算n!的值,先定义一个放阶乘值的变量res,初值为1,通过循环的方法,用累乘器“res*=i;”实现n!。
转载请注明原文地址:https://kaotiyun.com/show/A9Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
虚函数必须是类的【】。
判断char型变量c是否为小写字母的正确表达式是
下列定义中p指向的地址可更改,但*p不能够更改的是
有以下程序#include<iostream.h>voidfun(inta,intb,intc){a=456,b=567,c=678;}voidmain(){
下列工具中为需求分析常用工具的是
对建立良好的程序设计风格,下面描述正确的是
下面是一个递归函数,其功能是使数组中的元素反序排列。请将函数补充完整。voidreverse(int*a,intsize){if(size
有如下程序:#includeusingnamespacestd;classAA{public:AA(){tout
随机试题
下列哪种物质存在时,FAD呼吸链不受影响而NADH呼吸链被抑制()。
放在弹簧平台上的物块A,重力为W,作上下往复运动,当经过图4-55所示位置1、0、2时(0为静平衡位置),平台对A的约芽力分别为p1、p2,p3,它们之间大小的关系为()。
5月19日,某教学楼工程施工现场在混凝土浇筑过程中,发生模板坍塌事故,造成6人死亡、18人受伤,直接经济损失357万元。该教学楼为框架结构,建筑面积11800m2,事故发生的部位是教学楼中部的共享大厅,该大厅是一个高度为16.5m,进深为15m,长边
各级地方人民政府水行政主管部门应当根据本级人民政府的要求,制定本行政区域内水利工程建设特大生产安全事故应急救援预案,并报()备案。
下列关于直接融资的表述,错误的是()。
甲公司2016年12月31日持有的下列资产、负债中,应当在2016年12月31日资产负债表中作为流动性项目列报的有()。
从业人员做到坚持原则,要()。
2016年4月15日是首个全民国家安全教育日,习近平总书记再次强调国家安全是“头等大事”。通过成立一个机构、构建一个法律体系、讲清一个问题、抓牢一个落脚点,“头等大事”得到全面落实。下列有关说法错误的是()。
设f(x)在区间(一∞,+∞)内具有连续的一阶导数,并设f(x)=2∫0xf’(x—t)t2dt+sinx,求f(x).
Allhisuniformsarestainedwithpaint,sohisjobmusthave______todowithcoat.
最新回复
(
0
)