首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)fun1(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n):求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。 注意:请勿改动主函数ma
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)fun1(int n);求出n的阶乘,必须使用递归调用。 (2)fun2(int n):求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。 注意:请勿改动主函数ma
admin
2016-10-28
61
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:
(1)fun1(int n);求出n的阶乘,必须使用递归调用。
(2)fun2(int n):求出n的阶乘,不能使用递归调用。
如果n小于1则返回0。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#1nclude<ioStream.h>
//必须使用递归
int fun1(int n)
{
};
//不能使用递归
int fun2(int n)
{
}
void main()
{
int i;
cout<<"请输入一个整数:"<<endl;
cin>>i;
cout<<"输入数字的阶乘是:"<<fun1(i)<<endl;
cout<<"输入数字的阶乘是:"<<fun2(i)<<endl;
return;
}
选项
答案
int fun1(int n)//使用递归计算阶乘 { if(n<=0)//n小于等于0,直接返回0 return0; if(n==1)//n等于1直接返回1 return1; return n*fun1(n-1);//n大于等于1,通过递归计算n! }; //不使用递归计算阶乘 int fun2(int n) { if(n<=0)//n小于0,直接返回0 return0; int res=1;//初始化阶乘存放变量res for(int i=1;i<=n;i++)//通过循环计算n! { res*=i; } return res; }
解析
(1)进入fun1函数,根据前面的定义,它对阶乘算法的实现可以分为三种情况,一是当n小于或等于0时,返回0即可;二是当n大于1时应该用什么程序来实现阶乘的计算;三是当n=1时,函数直接返回1即可。
(2)计算n!的值,先定义一个放阶乘值的变量res,初值为1,通过循环的方法,用累乘器“res+=i;”实现n!。
转载请注明原文地址:https://kaotiyun.com/show/NKNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。#include<iostream.h>#include<string.h>voidmain(){c
下列关于函数模板实参不能省略的情况说明不正确的是
fun()函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数返回值。请填空完成此程序。#defineN100intfun(int(*A)[N]){in
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为
一个学生关系模式为(学号,姓名,班级号,…),其中学号为关键词:一个班级关系模式为(班级号,专业,教室,…),其中班级号为关键词:则学生关系模式中的外关键词为【】。
若类A和类B的定义如下;classA{inti,j;public:intgeti(){returni;}};clasSB:publ
C++语言中关键字运算符有new,delete和______。
下列关于模板的说法正确的是
数据流图的类型有______和事务型。
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*cp的值是()。
随机试题
一般不会引起肾炎的因素是()
典型心绞痛胸部疼痛的部位是
A、高良姜B、吴茱萸C、肉桂D、干姜E、附子被称为治中寒肝逆或寒郁肝脉诸痛之要药的中药是()。
下列哪一种是测定生物体内代谢的样本()。
下列属于限制人自由的行为的是()。
甲袋中有3个自球2个黑球,乙袋中有4个白球4个黑球,现从甲袋中任取2球放入乙袋,再从乙袋中取一个球放入甲袋。已知从乙袋取出的是白球,问从甲袋取出的球是一黑一白的概率为多少?
小军帮哥哥卖报纸,如果哥哥单独卖,7个半小时可以卖完,小军单独卖,12小时可以卖完,现在两人一起卖,工作效率提高了20%。当卖掉78%时,突然开始下雨,使得每小时少卖51份,结果共用了4个半小时将报纸全部卖完。那么二人一共卖了多少份报纸?()
ThesuccessofAugustusowedmuchtothecharacterofRomantheorizingaboutthestate.TheRomansdidnotproduceambitiousblu
Whatdoesthewomanmean?
Whatcausedtheboatwreck?
最新回复
(
0
)