首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 【函数2.1说明】 递归函数sum(int a[], int n)的返回值是数组a[]的前n个元素之和。 【函数2.1】 int sum (int a[],i
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 【函数2.1说明】 递归函数sum(int a[], int n)的返回值是数组a[]的前n个元素之和。 【函数2.1】 int sum (int a[],i
admin
2010-01-15
24
问题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。
【函数2.1说明】
递归函数sum(int a[], int n)的返回值是数组a[]的前n个元素之和。
【函数2.1】
int sum (int a[],int n)
{
if(n>0) return (1);
else (2);
}
【函数2.2说明】
有3个整数,设计函数compare(int a,int b,int c)求其中最大的数。
【函数2.2】
int compare (int a, int b, int c )
{ int temp, max;
(3) a:b;
(4) temp:c;
}
【函数2.3说明】
递归函数dec(int a[],int n)判断数组a[]的前n个元素是否是不递增的。不递增返回 1,否则返回0。
【函数2.3】
int dec( int a[], int n )
{
if(n<=1) return 1;
if(a[0]<a[1]) return 0;
return (5);
}
选项
答案
(1)a[n-1]+sum(a,n-1)或者a[0]+sum(a+1,n-1); (2)return 0; (3)temp=(a>b)? (4)max=(temp>c)? (5)dec(a+1,n-1);
解析
本题考查C语言函数和一些基本运算。
下面我们分别来分析这几个函数。在函数2.1中,题目要求用此递归函数求数组前 n个元素之和。递归函数的特点是在函数体中不停地调用函数本身,只是将其函数的参数范围改变。题目中要求我们求数组前n个元素之和,我们可以这样理解,即前n个元素之和等于第n个元素加上前n-1个元素之和,现在的问题转化成如何求前n-1个元素之和。同样的道理,可以将求前n-1个元素之和转化成求前n-2个元素之和,直到这个数小于0。从函数2.1的代码中可以知道,在计算以前,首先判断n与0的关系,如果n小于0,说明数组中无元素,因此,返回0值;如果n大于等于0,说明数组中有元素,应该返回的结果是第n个元素加上前n-1个元素之和,而前n-1个元素之和是调用函数本身来计算的。因此,第(1)空和第(2)空的答案分别是a[n-1)+sum(a,n-1),return()。
在函数2.2中,题目要求我们在三个数中取最大数,在数学中,我们从三个数中取最大数时,一般是首先拿其中两个数比较,取较大的数再与第三个数比较,再取其较大的数,这个数就是三个数中的最大数。从函数2.2的代码中知道,三个数a、b、c,两个整型变量temp与max。根据求三个数中最大数的数学过程和函数中已给出的代码可知,第(3)空处语句应该为temp=(a>b)?a:b,求得a、b中较大数并存放在变量temp中。第(4)空处语句为max=(temp>c)?temp:c。
在函数2.3中,题目要求判断数组a[]的前n个元素是否是不递增的。不递增返回1,否则返回0。要判断前n个元素是否是不递增的,需要判断前n-1个元素是否是不递增的,以及第n个元素与第n-1个元素的关系。此处与函数2.1一样,用的都是递归函数,只是出口不同,在函数2.1中,只要数组中没有元素了,递归结束,这里只要第n个元素大于第n-1个元素,则返回0,递归结束。又由if(a[0]<a[1])语句可知,在每次调用函数时,都将其数组中的第一个元素与第二个元素比较来作为递归的出口,如果结果为假,就说明数组的前面两项的关系是不递增的,在下次调用中不用再考虑第一项。因此第(5)空应该是dec(a+1,n-1)。
转载请注明原文地址:https://kaotiyun.com/show/ABjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在收集、整理、存储大数据时,删除重复数据的作用不包括________________。
当前,大部分商业DBMS中所用的主要数据模型是()。
西部某省考试机构工作人员统计了去年下半年三个地区四种资格的报考人数,将统计表抄录如下(其中有一个数据抄错了): 信息处理技术员小王很快就找出了错误的数据,并进行了纠正。错误的数据是(32),该数据应纠正为(33)。33.
假设100个数据的平均值为82.31,其中有10个数据又发生了如下增减变化:+3.52,+2.87,-4.13,+5.34,-2.87,+2.50,-3.52,+4.23,-5.04,+0.10,则新的平均值变为(26)。
某年级两个班举行了一次数学统考,一班(共30人)的平均成绩为70分,二班(共 20人)的平均成绩为75分,则该年级的平均成绩为(65)分。
在Excel中,设单元格A1中的值为100,B1中的值为200,A2中的值为300,B2中的值为400,若在A3单元格中输入函数“=SUM(A1:B2)”,按回车键后,A3单元格中的值为()。
在Windows XP中,文件名中不允许出现的字符是(32)。
在Word2010“查找和替换”文本框中,输入()符号可以搜索0到9的数字。
互联网协议第6版(IPv6)采用(21)________________位二进制数表示IP地址,是IPv4地址长度的4倍,号称可以为全世界每一粒沙子编上一个网址。
在网页中创建一个如下图所示的表单控件的HTML代码是(26)。
随机试题
患者,女,53岁。患“幽门管溃疡”1个月,现原有疼痛节律消失,出现餐后上腹部饱胀,频繁呕吐宿食,最可能的并发症为
补气药的功效、主治和配伍原则是什么?
女性45岁,腹胀,腹痛2个月余。体检:腹水征(+),盆腔有一直径6cm的囊实性包块,固定,子宫直肠窝有硬节。根据你的知识,你认为该患者5年存活的几率为
使子宫内膜产生增生期变化的是
关于艾滋病的抗病毒治疗,下列哪项是错误的
甲、乙两大集团爆发战争,丙国为中立国,依战争法,下列关于战争开始后引起的后果的表述哪一项是正确的?()
某大型百货商场为增值税一般纳税人,2008年9月发生如下业务:(1)首饰柜台以旧换新销售金首饰,实际收到零售收入12万元,旧金首饰扣减了零售收入2万元。(2)商场超市销售各类水果蔬菜取得含税销售收入5万元,销售其他食品取得含税销售收入60万
(2012年下半年上午试题71~75)Computerwillbecomemoreadvancedandtheywillalsobecomeeasiertouse.Improvedspeedrecognitionwi
Oneofthemostcriticalproblems【C1】_____blackandotherminorityAmericanstodayisthedifficultyofentering【C2】_____socie
Workisoneofsociety’smostimportantinstitutions.Itisthemainmechanismthroughwhichspendpowerisallocated.Itprovid
最新回复
(
0
)