首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
38
问题
使用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://jikaoti.com/ti/8DE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序中,while循环的循环次数是()。main(){inti=O;while(i<10){if(i<1)continue;if(i==5)b
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。请在横线处填上适当内容,实现该函数。boolfun(char*str){inti=0,j=0;while(str[j])【】;
用户的数据视图,也就是用户所见到的数据模式,是______。
结构化程序设计主要强调的是______。
使用操作符setw对数据进行格式输出时,需要包含______头文件。
【】是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。
在进行任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()。
下面程序的输出是()。#defineN3#defineM(n)((N+1)*n)#include<iostrearn.h>voidmain(){intz=2*(N+M(5+1));cout<<z<<end1;}
在下面的类定义中,横线处应填入的内容是()。classFred{public:voidprint(){cout<<data<<end1;voidsetData(doubled)(data=d;static
包容类Contain和内嵌类Embed定义如下:#include<iostream.h>classContain{private:intx;protected:intz;public:
随机试题
关于休克病情的观察,下列哪项不正确
书写中枢位于
下列物质中,不是乳剂型软膏基质的乳化剂的是
与盆腔炎性肿块超声鉴别诊断不相关的是
可减弱香豆素类药物抗凝血作用的药物是
有突出矿井的煤矿企业、突出矿井在编制年度、季度、月度生产建设计划时,必须一同编制(),保证抽、掘、采平衡。
下述哪项与确定公共建筑中水平交通通道的宽度与长度无关?
太行明珠巴公镇,位于山西省晋城市太行山脉南端的泽州盆地。北控幽燕,南瞰中原,辖44个行政村,50个自然村,总人口6.2万人,总面积112平方千米,素有“太行第一镇”之称。先后荣获“全国村镇建设先进镇”“全国造林绿化百佳镇”“全国文明镇”和“全国环境优美乡镇
中国银行业协会设有的专业委员会包括()。
(2017·山东)当代学校教育中的班主任必须实行由管理者角色向指导者角色的重心转移。()
最新回复
(
0
)