首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
45
问题
使用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://www.kaotiyun.com/show/NKNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序段的输出结果是#include<iostream.h>voidfun(int*x,int*y){cout<<*x<<*y;*x=3;*y=4;
以下C++语言中用于单行注释的是
有如下程序#include<iostream.h>voidmain(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[
不合法的main函数命令行参数表示形式是
软件开发离不开系统环境资源的支持,其中必要的测试数据属于
设有以下程序段:inta[5]={0},*p,*q;p=a;q=a;则下列选项中,合法的运算是
为完成下面的程序,应在划线处填入的语句是()。#include<iostream>usingnamespacestd;classBase{private:intx;p
下列对字符数组进行初始化的语句中,正确的是()。
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
A.睾酮作用B.雌激素的作用C.孕激素的作用D.黄体生成素的作用E.卵泡刺激素的作用刺激红细胞的生成()。
患者男,58岁。头痛,呕吐2个月余。行颅脑MRI示:右额叶占位。后行开颅探查+肿瘤切除术,病检示“胶质母细胞瘤”。该患者放射治疗设野的CTV设定为
河流水文调查中一般需要考虑的指标有()。
下列选项中,( )不是一级基坑的开挖要求。
泡沫产生装置进场检验时,下列检查项目中,不属于外观检查项目的是()。
期货公司的控股股东、实际控制人和其他关联人,不得()。[2012年6月真题]
每种活动都存在最佳的动机水平,随着任务难度的增加,最佳动机水平有()的趋势。
在中国革命的不同时期,毛泽东从不同的角度提出了对党的作风的要求。在党的七届二中全会上,毛泽东强调必须保持的党的作风是()
设L为曲线常数a>0,则I=∮L(xy+yz+zx)ds=___________.
Wikipedia’sTrembling[A]Wikipediaisdying!Wikipediaisdying!That’sthelinerepeatedbythemediaeverysixmonthsorsos
最新回复
(
0
)