首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(intn);求出n的阶乘,必须使用递归调用。 (2)ftm2(mtn);求出n的阶乘,不能使用递归调用。 如果n小于l则返回0。 注意:请勿改动主函数main与
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(intn);求出n的阶乘,必须使用递归调用。 (2)ftm2(mtn);求出n的阶乘,不能使用递归调用。 如果n小于l则返回0。 注意:请勿改动主函数main与
admin
2015-07-20
48
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:
(1)funl(intn);求出n的阶乘,必须使用递归调用。
(2)ftm2(mtn);求出n的阶乘,不能使用递归调用。
如果n小于l则返回0。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
//必须使用递归
int funl(int n)
{
};
//不能使用递归
int fun2(int n)
{
}
void main()
{
int i;
cout<<“请输入一个整数’<
cin>>i;
cout<<”输入数字的阶乘是:n<
cout<<”输入数字的阶乘是:”<<
fun2(i)<
return;
}
选项
答案
int funl(intn)//使用递归计算阶乘 { if(n<=0) //n小于等于0,直 接返回0 return 0; if(n==1) //n等于1直接返回1 return 1; return n*funl(n一1);//n大于等 于1,通过递归计算n 1 }; //不使用递归计算阶乘 int fun2(intn) { if(n<=0) //n小于0,直接 返回0 return 0 ; int res=1 ; //初始化阶乘存 放变量res for(int i=1 ; i<=n; i++) //通过 循环计算n 1 { res*=i; } return res; }
解析
(1)该程序功能是对阶乘的实现。其中,阶乘的计算公式定义为:
f n!=n*(c一1)*(c一2)*…*1 n>1
n<
“n=1计算公式:n!=1
公式分为参数n是1和大于l的两种情况,例如:1的
阶乘1 1=1:5的阶乘5 1=5×4×3×2×1。
【解题思路】
(1)进入funl函数,根据前面的定义,它对阶乘算法的实现可以分为三种情况,一是当n小于或等于0时,返回0即可:二是当n大于1时应该用什么程序来实现阶乘的计算;三是当n=1时,函数直接返回1即可。
(2)计算n!的值,先定义一个放阶乘值的变量res,初值为1,通过循环的方法,用累乘器“res*=i;”实现n!。
转载请注明原文地址:https://kaotiyun.com/show/23Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
所有在函数中定义的变量,连同形式参数,都属于()。
以下不是结构化程序设计方法的技术是()。
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。请在横线处填上适当内容,实现该函数。boolfun(char*str){inti=0,j=0;while(str[j])【】;
以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。#defineN3#defineM3intselect(inta[N][M],in
下面的类中定义了一个枚举类型,请完成下面的程序。classBase{public:enumWeek{Sum,Mon,Tue,Wed,Thu,Fri,Sat};Weeka;}
设intx:,则经过______后,语句*px=0;可将x值置为0。
【】是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。
已知在函数func()中语句this->ff=0;与语句ff=0;的效果完全相同。对于这一现象,下列表述中错误的是()。
编译过程一般分成5个阶段【】、语法分析、错误检查、代码优化和目标代码生成。
随机试题
投诉信说明:假如你是李丽,你对刚买的商品质量不满意,请根据以下内容写一封投诉信。1.商品:拉杆箱2.购买日期:5月18日3.价格:800元4.质量问题:一个轮子坏的5.要求:退款或者修理Wordsforreference:拉杆箱
国际营销管理者经常使用的最基本的信息系统是()
对传染病患者或疑似传染病患者实施医疗救治活动时,医疗机构实行
()是通过投资和购买与管理标的的资产收益波动负相关或完全负相关的某种资产或衍生金融产品来冲销风险所带来的损失的一种风险管理策略。
永续年金现值是年金与贴现率的倒数之积。( )
企业的收益分配应当遵循的原则包括()。
“如果张红是教师,那么他一定学过心理学。”上述判断是从下面哪个判断中推论出来的?
需求量总是与价格呈相反方向变化。如果价格变化导致总收入与价格反向变化,那么需求就是有弹性的。在2007年,虽然W大学的学费降低了20%,但是W大学收到的学费总额却比2006年增加了。在这种情况下,对W大学的需求就是有弹性的。如果以上陈述为真,以下
Agoodmarriageisgoodfortheheart,accordingtonewresearchsupportedbytheHeartandStrokeFoundation."There’slittl
答,答,答!我从梦中跳醒来。——有谁在叩我的门?我迷惘地这么想。我侧耳静听,声音没有了。头上的电灯洒一些淡黄的光在我的惺忪的脸上。纸窗和帐子依然是那么沉静。我翻了个身,朦胧地又将入梦,突然那声音又将我唤醒。在答,答的小响外,这
最新回复
(
0
)