首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
54
问题
使用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全国计算机二级
相关试题推荐
下列程序输出的结果是()。#include<stdio.h>un1(chara,charb){charc;c=a;a=b;b=c;}fun2(char*a,charb){charc;c=*a;*a=b;b=c;}
关于构造函数A()的拷贝构造函数正确的是
下列特征中不是面向对象方法的主要特征的是()。
下列关于构造函数和析构函数的描述,错误的是()。
在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。
下列程序中需要清理动态分配的数组,划线处应有的语句是_______。#include<iostream.h>classperson{intage,tall;public:person()
下面程序编译时发现ma[3]=9错误,其原因是______。#include<iostream.h>classFunArray{int*pa;//指向一个数组空问intsize;//数组元素个
下列for语句的循环次数为______。for(inta=0,b=1;b&&a<5;a++);
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
随机试题
漫水道路行车时,应挂高速档,快速通过。
简述广告主题的构成要素。
患者,女,29岁。交通事故致颌面部闭合性损伤合并颅脑损伤,已发生吸入性窒息。应采取的抢救措施是
男,35岁。突发性中上腹痛,1天后出现下腹部疼痛,特别是右下腹痛,诊断为急性阑尾炎入院。患者入院后拒绝手术治疗,行庆大霉素等抗感染治疗,两天后热不退,突然出现寒战、高热、黄疸等症状,体检时发现右上腹压痛明显,伴肝脏肿大,白细胞升高。治疗方案应首先考虑
位于袋形过道内的房间距安全出入口的最大距离为()m
公路工程质量监督,是指依据有关法律、法规、规章、技术标准和规范,对公路工程质量进行监督的行政行为。为加强公路工程质量监督,保证公路工程质量,保护人民生命和财产安全,《公路工程质量监督规定》明确了公路工程质量监督主要包括的内容、交通主管部门对公路工程质量监督
企业领导应该重视数据信息的收集、汇总和分析,以便为决策提供依据,这体现了质量管理体系八项原则中的()原则。
由于资本支出和营业流动资产增加都是企业的投资现金流出,因此它们的合计称为“净投资”。()
根据以下资料,回答问题。2012年规模以上工业中,农副食品加工业增加值比上年增长13.6%,纺织业增长12.2%,通用设备制造业增长8.4%,专用设备制造业增长8.9%,汽车制造业增长8.4%,计算机、通信和其他电子设备制造业增长12.1%,电
(1)在考生文件夹下有一个工程文件sjt3.vbp。其窗体文件上有一个标题为“得分”的框架,在框架中有一个名称为Text1的文本框数组,含6个文本框控件;文本框Text2用来输入难度系数。程序运行时,在左边的6个文本框中输入6个得分,输入难度系数后,单击“
最新回复
(
0
)