首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序 #include<stdio.h> int f(int x) { if(x<2) return 1; return x*f(x-1)+(x-1)*f(x-2); } main() { int y; y
有下列程序 #include<stdio.h> int f(int x) { if(x<2) return 1; return x*f(x-1)+(x-1)*f(x-2); } main() { int y; y
admin
2022-04-02
33
问题
有下列程序
#include<stdio.h>
int f(int x)
{
if(x<2)
return 1;
return x*f(x-1)+(x-1)*f(x-2);
}
main()
{
int y;
y=f(4);
printf("%d\n",y);
}
程序执行后的输出结果是( )。
选项
A、11
B、43
C、57
D、53
答案
D
解析
函数f是一个递归函数,当x>=2时,递归调用自身,返回值为:x*f(x-1)+(x-1)*f(x-2);当x<2时,返回值为1。main函数中,调用函数f传入4,所以y的值是f(4)。f(4)等价于4*f(3)+3*f(2);f(3)等价于3*f(2)+2*f(1);f(2)等价于2*f(1)+1*f(0);f(0),f(1)等价于1。综上:f(2)等于3,f(3)等于11,f(4)等于53。本题答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/Lhkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若程序中有宏定义行:#defineN100则以下叙述中正确的是
有以下程序main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case
下列叙述中正确的是()。
设变量已正确定义并赋值,以下正确的表达式是()。
设有定义:inta;floatb;执行scanf(’’%2d%f’,&a,&b);语句时,若从键盘输入876543.0则a和b的值分别是
下列叙述中正确的是()。
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。#includevoidf(intb[],intn,intflag){inti,j,t;for(i=0;i<n-1;i
以下程序依次把从终端输入的字符存放到file文件中,用#作为结束输入的标志,则在横线处应填入的选项是()。#includemain(){FILE*cpoint;charch;cpoint=fopen(’’file’’,’’w’’);whil
关系表中的每一行记录称为一个()。
随机试题
关于第二心音的产生,正确的是【】
肺部空洞性病变,常见于哪些疾病
简述氟喹诺酮类药物的共性。
资本资产定价模型与公式E(Rj)=Rf+βj[E(Rm)一Rf]的意义是一致的。()
对下列相关处理不服可以提起行政复议的是()
出入境人员健康体检对象包括:( )
随着网络信息技术的发展,文件处理、私人信件等文字处理工作变得越来越快捷方便。然而,电子智能设备在带给人们工作生活诸多便捷的同时,也产生了许多意想不到的后果。一个很普遍的现象是:不少人遇到不懂的问题,已经习惯于上网百度一下。很多人都患上了网络依赖症、手机依赖
求其中D由直线x=-2,y=0,y=2及曲线所围成.
Theunhealthyingredientsandlownutritioncontentofthefoodcanmakeyoulessactiveandlazy,newresearchshows.Nosurpri
Althoughtherearebodylanguagesthatcancrossculturalboundaries,cultureisstillasignificantfactorinallbodylanguage
最新回复
(
0
)