首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序 #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
62
问题
有下列程序
#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全国计算机二级
相关试题推荐
有以下程序,己知字母A的ASCII码为65,程序运行后的输出结果是main(){charc1,c2;c1=’A’+’8’-’4’:c2=’A’+’8’一’5’;printf("%c,%\n",c1,c2)
有以下程序,已知字母A的ASCII码为65,程序运行后的输出结果是main(){charc1,c2;c1=’A’+’8’-’4’:c2=’A’+’8’-’5’:printf("%c,%d\n",c1,c2);}
有以下程序#includemain()voidfun(inta,intb){intc[10]={1,2,3,4,5,6,7,8,9,0),i;{intt;for(i=0;i
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。
数据库管理系统是
以下选项中不能用作C程序合法常量的是
下列叙述中正确的是
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是
软件设计中模块划分应遵循的准则是( )。
下列说法正确的是()。
随机试题
_______是教育者组织学生参加各种实际活动,在行为实践中使学生接受磨炼和考验,以培养优良思想品德的方法。
患者,男性,60岁,颈肩疼痛,僵硬,双侧上肢麻木、感觉过敏、无力,放电样串痛,臂丛牵拉试验阳性,压头试验阳性。该患者属于颈椎病的
不适合于采用常规遥感手段调查的城市信息是()。
不属于投机风险的是()。
实木复合地板面层铺设时,相邻板材接头位置应错开不小于()mm距离。
187,259,448,583,754,()
下列哪些法律属于宪法部门()。
Airpollutionkilledaboutsevenmillionpeoplelastyear,makingittheworld’ssinglebiggestenvironmentalhealthrisk,theW
在软件设计中不使用的工具是( )。
Whatdoesthecompanyhavetopreparefor?
最新回复
(
0
)