首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
37
问题
使用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全国计算机二级
相关试题推荐
具有相同函数名不同参数表的函数称为【】。
软件测试过程一般按4个步骤进行:单元测试、集成测试、验收测试(确认测试)和系统测试。在程序编码阶段进行的测试通常是______。
设intx:,则经过______后,语句*px=0;可将x值置为0。
有以下面程序:#include<iostream>usingnamespacestd;longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));
汇编程序的功能是将汇编语言所编写的源程序翻译成由【】组成的目标程序。
以下程序的执行结果是()。#nclude<iostream.h>template<classT>Tmax(Tx,Ty){retum(x>y?x:y);}voidmain(){cout<<max(2,5)<<","<
以下程序的执行结果是【】。#include<iostream>#definePI____3.14159constintR=10;voidmain(){doublea,b;ac2*R*PI
已知:doubleA(doubleA){return++a;}和intA(inta){return++a;)是一个函数模板的两个实例,则该函数模板定义为【】。
包容类Contain和内嵌类Embed定义如下:#include<iostream.h>classContain{private:intx;protected:intz;public:
随机试题
急腹症应首选的摄影体位是
手太阴肺经在上肢的分布是
A.国务院药品监督管理部门B.国务院药品监督管理部门和国务院农业主管部门C.国务院药品监督管理部门会同国务院卫生主管部门D.国务院药品监督管理部门会同国务院公安部门E.国务院农业主管部门制定麻醉药品药用原植物年度种植计划的部门是()。
下列关于期间的说法,正确的是哪些?
下列属于会计电算化档案管理基本要求的有()。
以下关于个人汽车贷款额度描述正确的是()。
2014年2月5日,马某与陈某订立一份房屋买卖合同,约定陈某购买马某的房屋一套(以下称1号房),价格80万元。并约定,合同签订后一周内陈某先付20万元,交付房屋后付30万元,办理过户登记后付30万元。2月8日,梁某得知马某欲将该房屋出卖,表示愿出90万元购
2015年保险公司原保险保费收入24282.52亿元,同比增长20.00%,比上一年高2.51%。其中,产险业务原保险保费收入7994.97亿元,同比增长10.99%;寿险业务原保险保费收入13241.52亿元,同比增长21.46%;健康险业务原保险保费收
收视率
Mr.Watsonaskedthestudentsto______theirhomework.
最新回复
(
0
)