首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
26
问题
使用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://jikaoti.com/ti/EME0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列描述中错误的是
下面程序的运行结果为【】。#include<iostream.h>voidmain(){unsignedcharvalue=127;inttotal=100;value++;
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为
在面向对象的程序设计中,下列叙述中错误的是
在C++中,打开一个文件,就是将这个文件与一个【】建立关联,关闭一个文件,就是取消这种关联。
下列关于栈的叙述正确的是
下列运算符中,在C++语言中不能重载的是
在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
程序流程图中的菱形框表示的是【】。
随机试题
上肢的浅静脉是()
男性,28岁。酗酒后突发剧烈上腹绞痛10h伴呕吐、冷汗、面色苍白入院。体检:体温39.1℃,血压11/8kPa,脉搏110次/分,腹上区压痛及反跳痛、腹肌紧张,Grey—Turner征(+)。血清淀粉酶800Somogyi单位。该病人最主要的护理诊断是(
前腭杆的前缘应
心房内部分隔时,卵圆孔位于()。
操作人员要严格遵守计算机的操作程序,并遵循()的要求。
你是城管工作人员,你所在辖区有小商小贩违规占道贩卖烧烤。在整治过程中有一个人说自己失业以此谋生,你怎么办?
联系我国实际,论述法治国家的主要标志。(2013法论35)
中国共产党历史上第一个土地法是()
Thequalityandnumberofacity’spublicroadsofferanexcellentmeansofgaugingitsprosperity.
A、Hecamebackthenextweekend.B、Ittook15hourstodrivealltogether.C、HespentagoodnightinMexico.D、Theyhadtoeat
最新回复
(
0
)