首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)fun1(int n1;求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数: (1)fun1(int n1;求出n的阶乘,必须使用递归调用。 (2)fun2(int n);求出n的阶乘,不能使用递归调用。 如果n小于1则返回0。
admin
2017-03-22
51
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下两个函数:
(1)fun1(int n1;求出n的阶乘,必须使用递归调用。
(2)fun2(int n);求出n的阶乘,不能使用递归调用。
如果n小于1则返回0。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
//必须使用递归
int funl(int n)
{
};
//不能使用递归
int fun2(int n)
{
}
void main()
{
int i;
cout<<"请输入一个整数:"<
cin>>i;
tout<<"输入数字的阶乘是:"<<
fun1(i)<
cout<<"输入数字的阶乘是:"<<
fun2(i)<
return;
}
选项
答案
int funl(int n)//使用递归计算阶乘 { if(n<=0)//n小于等于0,直接返回0 return 0; if(n==1) //n等于1直接返回1 return 1; return n*funl(n-1);//n大于等于1,通过递归计算n! j; //不使用递归计算阶乘 int fun2(int n) { if(n<=0)//n小于0,直接返回0 return 0; 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://www.kaotiyun.com/show/A9Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
结构化程序设计的主要特点是
虚函数必须是类的【】。
下面程序的输出结果是【】。#include<iostream>usingnamespacestd;intx;voidfunA(int&,int);voidfunB(int,int&
如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为
对建立良好的程序设计风格,下面描述正确的是
类Sample的构造函数将形参data赋值给数据成员data。请将类定义补充完整。classSample{public:{Sample(intdata=O);private:intdata;};Sample::Sample(in
计算斐波那契数列第n项的函数定义如下:intfib(intn){if(n==0)return1;elseif(n==1)return2;elsereturnfib(n-1)+ilb(n-2);}若执行函数调用表达式fib(
下列关于运算符函数的描述中,错误的是
有如下的函数定义:intXfun(int*a,intn){intX*a;for(int*pa=a+1;paif(*pa>x)x=*pa;retumx;}若在执行了语句:intx[5]
随机试题
下面关于三段论论证方法的叙述,正确的有
OneeveningMr.Greenwasdrivinghomealongalonelycountryroad.Hehad£1,000inhispocket.Attheloneliestpartofthero
中央型肺癌的特点不包括下列哪项
患者眩晕耳鸣,头胀痛,每因烦劳或恼怒而增剧,急躁易怒,少寐多梦,舌红苔黄,脉弦数。治疗应首选
有关羊水的功能,错误的描述是
尽管回购是一种高质量的抵押借款,但仍然具有一定的信用风险和利率风险。( )
关于广告目标与广告战略,下列说法正确的有()。
要将网页中的某图片以图片文件的格式单独保存到硬盘的文件夹中,下列操作正确的是()。
某公司现有6箱不同的水果,安排三个配送员送到A、B、C三个不同的仓储点,其中A地1箱,B地2箱,C地3箱,问配送方式有:()
Everyoneknowsastonebouncesbestonwaterifit’sroundandflat,andspuntowardsthewaterasfastaspossible.Someenthus
最新回复
(
0
)