首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)funl(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。
admin
2018-10-23
65
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:
(1)funl(int n);求出n的阶乘,必须使用递归调用。
(2)fun2(int n);求出n的阶乘,不能使用递归调用。
如果n小于1则返回0。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
1 #include<iostream.h>
2 //必须使用递归
3 int fun1(int n)
4 {
5
6 };
7 //不能使用递归
8 int fun2(int n)
9 {
10
11 }
12 void main()
13 {
14 int i;
15 cout<<’’请输入一个整数:’’<<end1;
16 cin>>i;
17 cout<<’’输入数字的阶乘是:’’<<fun1(i)<<end1;
18 cout<<’’输入数字的阶乘是:’’<<fun2(i)<<end1;
19 return;
20 }
选项
答案
1 int fun1(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*fun1(n-1);//n大于等于1。通过递归计算n! 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小于或等于0时,返回0即可;二是当n大于1时应该用什么程序来实现阶乘的计算;三是当n=1时,函数直接返回1即可。
(2)计算n!的值,先定义一个放阶乘值的变量res,初值为1,通过循环的方法,用累乘器“res*=i;”实现n!。
转载请注明原文地址:https://kaotiyun.com/show/wwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
只能作为成员函数重载的是
下列程序用于将源文件中的字母进行大小写转换,请填写while的请句。#include<iostream.h>#include<fstream.h>#include<iomanip.h>voidmain(){cha
假定MyClass为一个类,则执行MyClassab(2),*p;语句时,自动调用该类构造函数()次。
友元类的所有成员函数都是另一个类的【】函数。
有如下函数模板声明:template<typenameT>TMax(Ta,Tb){return(a>=b)?a:b;}下列对函数模板Max()的调用中错误的是()。
下列关于线性链表的描述中正确的是()。
下面关于break语句的描述中,不正确的是()。
下列程序完成从文件读取文件显示的同时写入第二个文件,则在程序中划线部分应该出现的语句是______。#include<iostream.h>#include<fstream.h>voidmain(){fs
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
有以下类定义:classA{char*a;public:A():a(0){}A(char*aA){//把aa所指字符串复制到a所指的存储空间a=______;strcpy(a
随机试题
水蛭最主要的性状特征是()。
微量营养素包括_______。
咯血患者的关键护理措施是
下列选项属于实际征地费用中转移支付费用的有()。
甲股份有限公司(以下简称甲公司)系一家上市公司,2012年至2014年对乙股份有限公司(以下简称乙公司)股权投资业务的有关资料如下:(1)2012年5月16日,甲公司与乙公司的股东丙公司签订股权转让协议。该股权转让协议规定:甲公司以5400万元收
公文中的数字,除成文日期、部分结构层次序数和在词、词组、惯用语、缩略语、具有修辞色彩语句中作为词素的数字必须使用汉字外,应当使用阿拉伯数字。()
以下是在农村住房安全检查工作中乡镇干部和检查人员的一段对话。检查人员:“住房安全工作推进得怎么样了?”乡镇干部:“每个人我都检查过,都有安全住房。”检查人员:“都检查过了吗?”乡镇干部:“还有老张一户没有解决。目前他
供给侧改革的意义在于,通过制度变革、结构优化和要素升级,在供给侧放松管制,激发活力,释放创造力,充分发挥市场在资源配置中的决定性作用,进而为中国经济培育新主体,开发新产业,打造新动力。以下措施不是供给侧改革所提倡的工作重点的是()。
设f(x)在(-∞,+∞)上可导,[f(x)-f(x-1)],则a=_______.
PeopleintheUnitedStateslovetheirdogsandtreatthemwell.Theyusemanyexpressionswiththeword"dog".Herearesomeex
最新回复
(
0
)