首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)fun1(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n):求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。 注意:请勿改动主函数ma
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)fun1(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n):求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。 注意:请勿改动主函数ma
admin
2016-10-28
27
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:
(1)fun1(int n);求出n的阶乘,必须使用递归调用。
(2)fun2(int n):求出n的阶乘,不能使用递归调用。
如果n小于1则返回0。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#1nclude<ioStream.h>
//必须使用递归
int fun1(int n)
{
};
//不能使用递归
int fun2(int n)
{
}
void main()
{
int i;
cout<<"请输入一个整数:"<<endl;
cin>>i;
cout<<"输入数字的阶乘是:"<<fun1(i)<<endl;
cout<<"输入数字的阶乘是:"<<fun2(i)<<endl;
return;
}
选项
答案
int fun1(int n)//使用递归计算阶乘 { if(n<=0)//n小于等于0,直接返回0 return0; if(n==1)//n等于1直接返回1 return1; return n*fun1(n-1);//n大于等于1,通过递归计算n! }; //不使用递归计算阶乘 int fun2(int n) { if(n<=0)//n小于0,直接返回0 return0; 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/NKNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类的定义,下划线处的语句是()。classMyClass{_______intx,y;public;MyClass(inta=0,intb=0){X=a;y=b;}staticvoidch
下面关于对象概念的描述中,()是错误的。
设在主函数中有以下定义和函数调用语句,且fun()函数为void类型,请写出fun()函数的首部【】。intmain(){doubles[10][22];intn;…f
若有以下程序:#include<iOStream>usingnamespacesstd;classA{public:A(){}A(inti){x1=i;
下列运算符中不能在C++中重载的是
下面程序的预设功能是:将文本文件readme中的内容读出,显示在屏幕上。#include<fstream>usingnamespacestd;intmain(){charbuf[80];
下面的语句中错误的是
软件工程的出现是由于
软件工程的框架可概括为:目标、过程和【 】。
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
试述第二次世界大战后美苏冷战的兴起、东西两大阵营对峙局面的形成及在欧亚的特征。(黑龙江大学2013年历史学基础(世界史)真题)
对存储型设备,输入/输出操作的信息传送单位为
我国最早记载“成药剂”一词的是
等离子弧焊也是一种不熔化极电弧焊,其离子气所使用的气体不包括()。
个人耐用消费品贷款的贷款期限一般为()。(2010年下半年)
转业士官待安置期间,由当地人民政府按照不低于当地( )的原则发给生活补助费。
在某次考试中,小明的语文成绩为80。已知全班语文平均成绩为65,语文成绩的标准差为10。小明语文科目的标准分数是
2005年12月,中共中央农村工作会议强调建设社会主义新农村,必须认真贯彻党在农村一系列方针政策,主要有()。
【B1】【B20】
A、Thetemperaturedroppedbelowfreezing.B、Itwasverycold.C、Itwasmildlycoldintheearlywinterlastyear.D、Itwasvery
最新回复
(
0
)