首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 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
13
问题
有以下程序 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全国计算机二级
相关试题推荐
编写如下程序:DimxAsInteger,yAsInteger,zAsIntegerPrivateSubCommand1_Click()DimxAsIntegerx=1:y=2:z=3
A、各子菜单项组成一个名称为mnu1的控件数组B、不论选中菜单项1、2或3,均执行mnu1_Click事件过程C、Case2分支的语句没有必要,因为该菜单项的"复选"属性已被设置D、程序中的Index是系统自动产生的C菜单项1至菜单项3是名称为m
以下关于通用对话框的叙述中,错误的是( )。
以下关于多重窗体程序的叙述中,错误的是( )。
设变量MyName(字符串型),Age(整型)分别表示一个人的姓名和年龄,要设计一个逻辑表达式,当该人姓张,并且超过60岁,则表达式的值为True,下面正确的是
下列操作说明中,错误的是( )。
执行语句S=Len(Mid(”VisualProgram”,6))后,S的值为()。
在考生文件夹下有一个工程文件sjt3.vbp。其窗体文件上有一个标题为“得分”的框架,在框架中有一个名称为Text1的文本框数组,含6个文本框控件;文本框Text2用来输入难度系数。程序运行时,在左边的6个文本框中输入6个得分,输入难度系数后,单击“计算分
窗体上有两个水平滚动条HV、HT,还有一个文本框Text1和一个标题为"计算"的命令按钮Command1,并编写了以下程序:PrivateSubCommand1_Click()Callcalc(HV.Value,HT.Value)EndSu
设a=5,b=6,c=7,d=8,执行下列语句后,x的值为()。x=IIf((a>b)And(c>d),10,20)
随机试题
关于注射剂的有关规定的说法,错误的是()。
高渗性脱水的患者,其脱水程度为中度,患者缺水量为体重的
下列情况不是种植义齿修复的禁忌证的是
以下所列药物中,可能引起血小板减少的药物是()。
材料领用单属于( )。
服刑人员小王的父母目前居住在一所狭小的房子里。靠微薄的退休金生活。小士服刑多年即将刑满释放,对外界不甚了解,对释放后的生活没有信心。社会工作者与小王一起商议其释放后的生活计划,其中最符合小王再社会化需求的是()。
问题是给定信息和要达到目标之间有某些障碍需要被克服的【】
最近教育部办公厅下发《关于做好2016年城市义务教育招生入学工作的通知》,明确提出在教育资源不均衡、择校冲动强烈的地方,根据实际情况,积极稳妥采取()措施,引发社会关注。
已知方程组有无穷多解,则a=________。
数据库设计过程不包括
最新回复
(
0
)