首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果11小于1则返回0。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果11小于1则返回0。
admin
2015-05-30
71
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:
(1)funl(int n);求出n的阶乘,必须使用递归调用。
(2)fun2(int n);求出n的阶乘,不能使用递归调用。
如果11小于1则返回0。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
1 #include
2 //必须使用递归
3 int funl(int n)
4 {
5
6 };
7 //不能使用递归
8 int fun2(int n)
9 {
10
11 }
12 void main()
13 {
14 int i ;
15 cout<<”请输入一个整数:”<
16 cin>>i ;
17 cout<<“输入数字的阶乘是:”<< funl(i)<
18 cout<<"输入数字的阶乘是:"<< fun2(i)<
19 return;
20 }
选项
答案
1 int funl(int n)//使用递归计算阶乘 2 { 3 if(n<=0) //n小于等于0,直接返回0 4 retUrn 0 ; 5 if(n==1) //n等于1直接返回1 6 return 1; 7 return n*fLlnl(n一1);//n大于等于1,通过递归计算n 1 8 }; 9 //不使用递归计算阶乘 10 int fun2(int n) 11 { 12 if(n<=0) //n小于0,直接返回0 13 return 0; 14 int res=1 ; //初始化阶乘存放变量res 15 for(int i=1 ; i<=n;i++) //通过循环计算n ! 16 { 17 res*=i ; 18 } 19 return res; 20 }
解析
(1)该程序功能是对阶乘的实现。其中,阶乘的计算公式定义为:
公式分为参数n是1和大于1的两种情况,例如:1的阶乘1 !=1;5的阶乘5 !=5×4×3×2×1。
[解题思路]
(1)进入fun1函数,根据前面的定义,它对阶乘算法的实现可以分为三种情况,一是当n小于或等于O时,返回0即可;二是当n大于1时应该用什么程序来实现阶乘的计算;三是当n=1时,函数直接返回1即可。
(2)计算n!的值,先定义一个放阶乘值的变量res,初值为1,通过循环的方法,用累乘器“res*=i;”实现n!。
转载请注明原文地址:https://kaotiyun.com/show/XJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
所有的函数模板定义都是以关键字【】开始的。
若有如下类定义:classB{voidfunl(){}protected:doublevarl:public:voidfun2(){}};classD:public
语句ofstreamf("SALARY.DAT",ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且()。
在函数中,可以用auto、extem、register和static四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
以下程序的输出结果是()。#include<iostream.h>main(){intm=5;if(m++>5)cout<<m;elsecout<<m--;}
要定义数组A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是______。
结构化程序设计的一种基本方法是【】法。
在进行任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是
以下各选项组中,均是C++语言关键字的组是
数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及
随机试题
简述货币政策。
下列关于普查的说法错误的是()
病灶侧单眼失明猝倒发作
根据现行国家标准《细水雾灭火系统技术规范》(GB50898—2013),对某单位数据机房安装的泵组式细水雾灭火系统进行验收。下列检查结果中,不符合要求的是()。
证券公司在向客户融资融券前,应当与客户协商制定融资融券业务合同。()
根据下列材料回答问题。2007年上半年某镇完成工业总产值66625万元,比去年同期增长32.7%,增速提高12.7个百分点。其中规模以上工业企业完成产值56869万元,比上年同期增长43.9%,占全年工业总产值计划的45.3%。完成工业增加值2217
胜利公司的p值为1.80,无风险收益率为8%,市场组合的期望收益率为15%。目前公司支付的每股股利为2元,投资者预期未来几年公司的年股利增长率为10%。(1)该股票期望收益率为多少?(2)在(1)的期望收益率下,该股票每股理论市价是多少
计算机的3大应用领域是______。
下面你将听到的这段讲话,主题是香港廉政公署和国际刑警组织如何共同合作打击贪污。DistinguishedGuests,LadiesandGentlemen,Firstofall,Iwishtocongratulatethe
Theymayappeartobemarvelsofmodernscience.Buttheideasthatledtothewondersofsatellite【B1】______,organtransplant
最新回复
(
0
)