首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序 #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
23
问题
有下列程序
#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://jikaoti.com/ti/JOd0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果是()。#includevoidsub(int*s,int*y){staticintm=4;*y=s[m];m--;}voidmain(){inta
下列叙述中错误的是()。
若变量己正确定义,有以下程序段i=0;doprintf("%d,",i);while(i++);printf("%d\n",i);其输出结果是
数据库管理系统是
若有定义语句:intk[2][3],*pk[3];,则以下语句中正确的是
下面结构体的定义语句中,错误的是
下列函数的功能是voidfun(char*a,char*b){while((*b=*a)!=’\0’){a++;b++;}}
关于结构体函数的叙述中正确的是()。
软件详细设计产生的图如下,该图是
随机试题
A.低血糖B.胃肠道反应C.水肿D.心律失常双胍类治疗糖尿病的不良反应主要是
患者,男,60岁,肺癌,曾做过化疗,全口无牙.下列最合适的全口义齿是
新斯的明治疗重症肌无力的主要作用机制是
预算周期通常为()。
编制分部报告确定业务分部时,应当考虑的主要因素有()。
泰勒就课程内容的组织问题提出过三个基本准则,分别为()。
分科教学是幼儿园与小学阶段教育的根本区别。()
请从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性。
格陵兰岛是地球上最大的岛屿,形成于38亿年前,大部分地区被冰雪覆盖。有大量远古的岩石化石埋藏在格陵兰岛地下,它们的排列就像是一个整齐的堤坝,也被称为蛇纹石。通过这些蛇纹石,人们可以断定格陵兰岛在远古时可能是一块海底大陆。补充以下哪项作为前提可以得出上述结论
人类学家罗宾.邓巴提出的“社会脑假说”认为,灵长类动物在共同生活的过程中,个体需要与种族内的每个其他个体建立起某种长期的“社交关系”。而负责处理复杂与抽象思维的大脑新皮质在整个大脑中所占的比例越大,个体能处理的“稳定人际关系”就越多,于是平均种群就越庞大。
最新回复
(
0
)