首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
56
问题
使用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全国计算机二级
相关试题推荐
有如下类声明:classFoo{intbar;};则Foo类的成员bar是
下列关于C++函数的叙述中,正确的是
字面常量42、4.2、42L的数据类型分别是
下列关于派生类构造函数和析构函数的叙述中,错误的是
若要访问指针变量q所指向的数据,应使用表达式______。
下面程序的输出结果是()。#include<iostream.h>#include"string.h"voidmain(){chara[]="HelloTest",b[]="Test";strcpy(a
栈C最多能容纳4个元素,现有6个元素按A、B、C、D、E、F的顺序进栈,下列哪个序列不是可能的出栈序列()。
类中数据成员和成员函数的默认访问级别为______。
C++中将两个字符串连接起来组成一个字符串的函数是______。
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。A)-369B)369C)0.369D)整数集合{1,2,3,4,5}
随机试题
力的三要素是什么?
现已建立名为“Salary”的数据库表,若想查询姓“王”(“姓名”字段的首个字符为“王”)学生的所有信息,SQL语句应为()
下列关于tRNA~n十草结构的叙述,正确的是
烤瓷熔附金属全冠修复体的禁忌证包括
根据《建筑施工扣件式钢管脚手架安全技术规范》(JGJ130),下列关于扣件式钢管脚手架的扣件安装说法中,正确的是()。
产业组织政策主要包括()。
在通货膨胀严重时期,持有外汇和外国资产可能是仅存的保值选择。()
有“中药之王”美誉的中药材是()。
某些人认为个体生活中多数事情的结果是个人不能控制的各种外部力量的作用造成的,这种人被称为()。
NewwordsentertheEnglishlanguageallthetime.InfactEnglishhasalwaysbeeninastateof【B1】______andinrecentyearsm
最新回复
(
0
)