首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 【说明】 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。 【函数】 main() { int number[20],n
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 【说明】 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。 【函数】 main() { int number[20],n
admin
2010-01-15
90
问题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
【函数】
main()
{
int number[20],n,m,i;
printf("the total numbers is:");
scanf("%d",&n);
printf("back m:");
scanf("%d",&m);
for(i=0;i<=n-1;i)
scanf("%d,",&number
);
(1);
for(i=0;i<=n-1;i)
printf("%d,",number
);
}
move(array,n,m)
int n,m,array[20];
{
int *p,array_end;
array_end=(2);
for(p=array[n-1];(3);p--)
*p=(4);
*array=array_end;
m--;
if(m>0) (5);
}
选项
答案
(1)move(number,n,m) (2)*(array[n-1]) (3)p>array (4)*(p-1) (5)move(array,n,m)
解析
本题考查数字顺序移动和数组的相关知识。
从数据结构的角度出发,数字在数组中顺序移动,就是将数字一个一个往后搬,例如,将n-1位置的数字移到n位置,然后再把n-2位置的数字移到n-1位置,其实这是一个简单的数字移动。我们只需要取出第n个位置的数字并保存在一个临时变量中,然后,其他的就按顺序依次移动即可,直到一次整体移动完成,我们再从临时变量中取回数字并将其放在数组的第一个位置中。重复这个过程m次,整个数组就往后移动了m个位置。
首先,我们来看一下主函数,在主函数里面声明了一个容量为20的整型数组 number[20]和其余3个整型变量,数组用来存储我们输入的待处理的数,而变量m、n分别用于存放我们要移动位置的个数和输入整数的个数。第一个循环语句用于n个整数的输入,第二个循环语句用于n个整数的输出,在这中间应该还有一个处理来完成将n个整数顺序向后移m个位置,并让最后m个数变成最前面的m个数这个功能,从下面的程序段我们知道,这里是调用函数muve(number,n,m)来完成的。因此,第(1)空填 move(nurnber,n,m),在调用时我们需要注意参数的传递。
再来看move(array,n,m)函数,在此函数中,同样声明了一个容量为20的整型数组和 2个整型变量,另外还声明了一个指针变量p。由*array=array_end,结合第(2)空来看,这里是把数组中最后位置的数取出存放在array_end变量当中。因此,第(2)空应填 *(array[n-1])。
第(3)空是常见的在循环语句中表示判断的语句,由于“p=array[n-1]”把数组最末的地址赋给了指针p,只要p的值大于数组的起始地址循环就可以继续,因此,第(3)空应填p>array。
第(4)空要完成的任务是将数字后移,因此,第(4)空为*p-1。从程序来分析,数组每移动完成一次,m的值就减一,而现在只有移动m次的功能没有实现,因此,只要m值大于0,就调用函数自身来实现再次移动。因此,第(5)空填写move(array,n,m)进行递归调用。
转载请注明原文地址:https://kaotiyun.com/show/gIjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
信息处理技术员资格考试的试卷包括信息处理基础知识、计算机基础知识、法律法规知识、专业英语、办公软件使用技能五个方面。某次考试后,对这五个方面分别统计了各考生的得分率以及全国的平均得分率。为了直观展现每个考生在各个方面的水平以及该考生的整体水平,并与全国平均
如果表A和表B中有公共字段,且该字段在表B中称为主键,则该字段在表A中称为________________。
Windows7中的文件命名规则不包括________________。
企业建立生产和库存管理系统的目的不包括()。
人类传播信息的五大类媒体按其出现的先后顺序排列为________。
为在Exce1的A1单元格中生成一个60到100之间的随机数,则应在A1单元格中输入______
由国家机关下达任务开发的软件,若在项目任务书或者合同中对软件著作权未作明确规定的,其软件著作权由(21)享有。
内存用于存放计算机运行时的指令、程序、需处理的数据和运行结果。但是,存储在(2)中的内容是不能用指令修改的。
为什么一般处理“震荡波”病毒时,首先要把被侵入的计算机系统从网络上断开?在计算机系统发现病毒并清除以后,在未接入网络之前,从安全方面考虑,若需重新安装操作系统,通常需要执行以下几项主要工作后,方可接入网络。请给出下列工作的合理顺序。A.安装操作
阅读下列说明和HTML文本,分析其中嵌入的JavaScrlpt脚本,将应填入<u>(n)</u>处的语句写在对应栏内。[说明]本题实现用鼠标拖拽图片在Web页内移动的功能。将鼠标放在图片上,按下左键,移动鼠标便可带动图片一起移动。[
随机试题
芍药汤与白头翁汤的组成中均含有的药物是()
霍某在靓顺公司购得一辆汽车,使用半年后前去靓顺公司维护保养。工作人员告诉霍某该车气囊电脑存在故障,需要更换。霍某认为此为产品质量问题,要求靓顺公司免费更换,靓顺公司认为是霍某使用不当所致,要求其承担更换费用。经查,该车气囊电脑不符合产品说明所述质量。对此,
下列关于建设项目流动资金的表述中,正确的是()。
未结清的债权债务原始凭证和涉及其他未了事项的原始凭证,应由档案部门保管到未了事项完结后才能销毁。()
水泥强度等级是以标准水泥砂浆试块,在标准条件( )下养护,测定其3天和28天时的抗折强度和抗压强度来确定的。
幼儿园课程是实现幼儿园教育目的的()。
从两张50元,三张20元,五张10元共十张钞票中任取五张票面的总值小于n元的可能取法有种。(1)n=100(2)n=110
Cache的写入方式有______和写通(Write Through)两种形式。
A、B、C、D、A
I’dverymuchliketoknowwhatyouraiminlifeis
最新回复
(
0
)