首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成以下两个函数。 (1)fun1(int n)求出n的阶乘,必须使用递归调用。 (2)fun2(int n)求出n的阶乘,不能使用递归调用。如果n小于1则返回0。 注意:
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成以下两个函数。 (1)fun1(int n)求出n的阶乘,必须使用递归调用。 (2)fun2(int n)求出n的阶乘,不能使用递归调用。如果n小于1则返回0。 注意:
admin
2019-04-18
63
问题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成以下两个函数。
(1)fun1(int n)求出n的阶乘,必须使用递归调用。
(2)fun2(int n)求出n的阶乘,不能使用递归调用。如果n小于1则返回0。
注意:不能修改函数的其他部分。
试题程序:
#include
//必须使用递归
int funl(int n)
{
}
//不能使用递归
int fun2(int n)
{
}
void main()
{
int i;
cout<<"请输入一个整数:"<
cin>>i;
cout<<"输入数字的阶乘是:"<
cout<<"输入数字的阶乘是:"<
return;
}
选项
答案
//必须使用递归 int funl(int n) { if(n<=0) return 0; if(n==1) return 1; return n*funl(n-1); }; //不能使用递归 int fun2(int n) { if(n<===0) return 0; int res=1: for(int i=1;i(=n;i++) { res*=i: } return res; }
解析
本题考查的是递归函数和阶乘算法。递归的阶乘算法可以通过判断传入参数,如果大于1,则返回n*fun1(n-1),意思是返回n乘以n-1的阶乘;如果等于1,则返回1。这样递归下去就能最终得出n的阶乘。非递归算法可以先建立一个累乘变量,并初始化为1,然后循环遍历1~n,将遍历的数累乘到变量中即可。
转载请注明原文地址:https://kaotiyun.com/show/uZAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于关键字class和typename,下列说法中正确的是
在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是
下面关于运算符重载的描述中,正确的是()。
执行下面语句后,输出字符"#"的个数是()。for(inti=50;i;--i)cout<<’#’;
下列叙述中,正确的选项是()。
以下程序的运行结果是______。#include<iostrearn.b>fun(inta,intb){intm=0,i=2;i+=m+1;m=i+a+b;returnm;}
若按功能划分,软件测试的方法可以分为白盒测试方法和______测试方法。
下列字符串中可以用作C++标识符的是
若有:inti=1000;int*p=&i;void*q;q=p;其中,q=p的含义是______。
在算法的4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的________特性。
随机试题
“选他当主席”这个短语是()。
Abeamoflightwillnotbendroundthecornersunless______todosowiththehelpofareflectingdevice.
A.口服补液盐B.2:1等张含钠液C.4:3:2液静滴D.5%碳酸氢钠静推E.2:3:1液静滴对于下列腹泻患儿,首选治疗为1岁小儿腹泻黄色稀水便3天,每日十余次,伴呕吐,大便镜检:偶见脓细胞。查体:精神萎靡,皮肤弹性极差,哭无泪,四肢发凉,脉
肺炎球菌感染引起的大叶性肺炎属于
机场仅一条跑道,其磁方向角度为134。~314。。常年主导风向为西北风,则该跑道主降端标志号码为()。
划分全面调查与非全面调查的标志是()。
从本质上看,货币()。
英美法系
简述数据库的基本结构。
NaturalMedicinesSinceearliestdays,humanshaveusedsomekindsofmedicines.Weknowthisbecausehumanshavesurvived.
最新回复
(
0
)