2016年下半年程序员真题(案例分析题)

2016年下半年程序员真题(案例分析题)

ID:13462911

大小:249.50 KB

页数:18页

时间:2018-07-22

2016年下半年程序员真题(案例分析题)_第1页
2016年下半年程序员真题(案例分析题)_第2页
2016年下半年程序员真题(案例分析题)_第3页
2016年下半年程序员真题(案例分析题)_第4页
2016年下半年程序员真题(案例分析题)_第5页
资源描述:

《2016年下半年程序员真题(案例分析题)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2016年下半年程序员真题(案例分析题)案例分析题试题一(共15分)阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。【说明】设有整数数组A[1:N](N>1),其元素有正有负。下面的流程图在该数组中寻找连续排列的若干个元素,使其和达到最大值,并输出其起始下标K、元素个数L以及最大的和值M。例如,若数组元素依次为3,-6,2,4,-2,3,-1,则输出K=3,L=4,M=7。该流程图中考察了A[1:N]中所有从下标i到下标j(j≥i)的各元素之和S,并动态地记录其最大值M。【流程图】注:循环开始框内应给出循环控制变量的初值和

2、终值,默认递增值为1,格式为:循环控制变量=初值,终值试题二(共15分)阅读以下代码,回答问题:1至问题3,将解答填入答题纸的对应栏内。【代码1】#includevoidswap(intx,inty){inttmp=x;x=y;y=tmp;}intmaim(){inta=3,b=7;printf("al=%db1=%d",a,b);Swap(a,b);Printf("a2=%db2=%d”,a,b);return0;}【代码2】#include#defineSPACE¨//空格字符Intmain(){

3、charstr[128]=”Nothingisimpossible!“;inti,num=0,wordMark=0;for(i=0;str[i];i++)If(str[i]=SPACE)WordMark=0;elseIf(wordMark=0){wordMark=1;Mun++;}Printf(“%d/n”,num)retun0;}【代码3】#include#defineSPACE“//空格字符intcountStrs(char*);intmain(){charstr[128]="Nothingisimpossible!";P

4、rintf(‘%d/n,(1)(str))retum0;}intcountStrs(char*p){intnum=0,wordMark=0;for(;(2);p++){If((3)=SPACE)wordMark=0;elseif(!wordMark){wordMark=1;++mun}}retum(4);}【问题1】(4分)写出代码1运行后的输出结果。【问题2】(3分)写出代码2运行后的输出结果。【问题3】(8分)代码3的功能与代码2完全相同,请补充3中的空缺,将解答写入答题纸的对应栏内。试题三(共15分)阅读以下说明和代码,填补代码中的空缺,

5、将解答填入答题纸的对应栏内。【说明】下面的程序利用快速排序中划分的思想在整数序列中找出第k小的元素(即将元素从小到大排序后,取第k个元素)。对一个整数序列进行快速排序的方法是:在待排序的整数序列中取第一个数作为基准值,然后根据基准值进行划分,从而将待排序的序列划分为不大于基准值者(称为左子序列)和大于基准值者(称为右子序列),然后再对左子序列和右子序列分别进行快速排序,最终得到非递减的有序序列。例如,整数序列“19,12,30,11,7,53,78,25"的第3小元素为12。整数序列“19,12,7,30,11,11,7,53.78,25,7"

6、的第3小元素为7。函数partition(inta[],intlow,inthigh)以a[low]的值为基准,对a[low]、a[low+l]、…、a[high]进行划分,最后将该基准值放入a[i](low≤i≤high),并使得a[low]、a[low+l]、,..、A[i-1]都小于或等于a[i],而a[i+l]、a[i+2]、..、a[high]都大于a[i]。函教findkthElem(inta[],intstartIdx,intendIdx,inrk)在a[startIdx]、a[startIdx+1]、...、a[endIdx]中

7、找出第k小的元素。【代码】#include#includeIntpartition(inta[],intlow,inthigh){//对a[low..high]进行划分,使得a[low..i]中的元素都不大于a[i+1..high]中的元素。intpivot=a[low];//pivot表示基准元素Inti=low,j=high;while((1)){While(ipivot)--j;a[i]=a[j]While(ipivot)++i;a[j]=a[i]}(2);//基准

8、元素定位returni;}IntfindkthElem(inta[],intstartIdx,intendIdx,intk){//整数序列存储在a[s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。