首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 void f(int a[],int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); }
有以下程序 void f(int a[],int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); }
admin
2009-04-15
28
问题
有以下程序 void f(int a[],int i,int j) { int t; if(i<j) { t=a
;a
=a[j];a[j]=t; f(a,i+1,j-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++)printf("%d,",aa
;printf("\n"); } 执行后输出结果是
选项
A、5,4,3,2,1
B、5,2,3,4,1,
C、1,2,3,4,5
D、1,5,4,3,2,
答案
1
解析
在C语言中所谓函数的递归是指在调用一个函数的过程中,又出现了直接或间接地调用该函数本身,直接调用该函数本身的称为函数递归,而间接调用该函数称为函数的间接递归调用。由程序可以看出函数f(a,i,j)为一递归函数,其功能是当i<j时,将数组中的元素a
和a[j]交换,然后再调用函数f(a,i+1,j-1),将数组中 a[i+1]和a[j--]交换,这样一直递归到数组下标i=j,可见该递归函数的作用是使数组中首尾元素依次互换。主函数中定义了—个长度为5的数组aa并初始化,然后调用f(a,0, 4),将数组a中的元素依次互换,故最后for循环输出的数组aa中各元素的值为5、4、3、2、1。
转载请注明原文地址:https://kaotiyun.com/show/XoWp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
窗体的左右两端各有1条直线,名称分别为Line1、Line2;名称为Shape1的圆靠在左边的Line1直线上(见图);另有1个名称为Timer1的计时器控件,其Enabled属性值是True。要求程序运行后,圆每秒向右移动100,当圆遇到Line2时
以下关于通用对话框的叙述中,错误的是( )。
窗体上有一个名称为Command1的命令按钮,单击该按钮时所实现的功能是产生10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找到,输出该数的位置;若没有找到,给出相应的提示。该命令按钮的单击事件过程如下:PrivateSubCom
以下关于多重窗体程序的叙述中,错误的是( )。
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是
设运行程序时弹出的菜单如图所示.关于该菜单,以下叙述中错误的是( )。
以下关于函数过程的叙述中,正确的是( )。
窗体上有两个水平滚动条HV、HT,还有一个文本框Text1和一个标题为"计算"的命令按钮Command1,并编写了以下程序:PrivateSubCommand1_Click()Callcalc(HV.Value,HT.Value)EndSu
计算下面分段函数的正确语句是( )。
随机试题
下列有关门脉高压症的临床表现,错误的是
有关肛管直肠周围脓肿手术治疗的描述中,下列哪项是正确的
A.大腹子B.黑白丑C.血见愁D.冰台E.麒麟血艾叶的别名是()。
患者,男,50岁。因胆囊结石行B型超声检查,检查前1晚宜进食的食物是
下列关于取得注册建筑师资格证书人员进行执业活动的叙述。哪条是正确的?[2009年第66题]
根据《测绘生产质量管理规定》,下列质量管理工作内容中,不属于单位法定代表人职责的是()。
有一起重机用钢丝绳为6股,每股61根钢丝,中间有一麻芯,其规格为()。
成本和费用的区别在于( )。
影响计算机系统安全的主要因素不包括()。
A、Smiletoeachother.B、Feelannoyedandglareateachother.C、Trytomakeaconversationwitheachother.D、Feelindifferent
最新回复
(
0
)