首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
46
问题
使用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<iostream.h>voidfun(inta,mtb,intC){a=456,b=567,c=678;}voidmain(){intx=10,y=20,z=30;
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是()。#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;eout<<"inputa:";
在类的对象被创建时,______函数会被自动调用。
若将一个二元运算符重载为类的成员函数,其形参个数应该是______个。
结构化程序设计的三种基本结构分别是顺序、选择和______。
下列关于构造函数和析构函数的描述,错误的是()。
下列关于运算符重载不正确的是()。
对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为()。
冒泡排序算法在最好的情况下的元素交换次数为______。
在计算机中,算法是指
随机试题
发生销售折让时的会计分录为()
A初次注入大量抗毒素的马血清引起的血清病B血清性过敏性休克C自身免疫性溶血性贫血D接触性皮炎E支气管肺炎属于Ⅳ型超敏反应的是
病死猪,剖检时可视黏膜发绀,颌下淋巴结明显肿胀,外观灰白色,质地柔软,肺脏、肝脏及肾脏表面有大小不一的灰白色柔软隆起,切开病灶,见有灰黄色浑浊凝乳状液体流出。上述病灶局部的炎症反应为()
根据《中华人民共和国建筑法》规定,工程施工不符合( )。
某堤防工程项目业主与承包商签订了工程施工承包合同。合同中估算工程量为5300m3,单价为180元/m3。合同工期为6个月。有关付款条款如下:(1)开工前业主应向承包商支付估算合同总价20%的工程预付款;(2)业主自第一个月起,从承包商的工程款中,按5%
公安机关及其人民警察在执法过程中由于故意、过失或者意外的原因造成执法过错的,法制部门应当依法追究其执法过错责任。()
2011年粮食种植面积11057万公顷,比上年增加70万公顷。棉花种植面积504万公顷,增加19公顷。油料种植面积1379万公顷,减少10万公顷。糖料种植面积195万公顷,增加4万公顷。全年粮食产量57121万吨,比上年增加2473万吨,增产4
(2011首都经贸大学)在中国保险业的发展历史上,曾一度不重视保险公司的资金运用效益,而后又发展为对投资利润过度依赖,忽视承保业务的质量和效益。根据承保与投资的关系,对这两种模式加以评论。
曲线y=(x2+x)/(x2-1)渐近线的条数为
2018年3月,一家名为Cambridge.Analytica的数据分析公司通过一个应用程序收集了5000万Facebook用户的个人信息,该应用程序详细描述了用户的个性、社交网络以及在平台上的参与度。尽管CambridgeAnalytica公司声称它只
最新回复
(
0
)