首页整卷下载分项下载 试卷搜索题目搜索全站搜索招考信息

2015年下半年程序员下午试卷案例

分类:软考/初级_程序员    来源:软考

1
 
(共15分)
阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
【说明】
    下面流程图的功能是:在给定的一个整数序列中查找最长的连续递增子序列。设序列存放在数组A[1:n](n≥2)中,要求寻找最长递增子序列A[K : K+L-1](即A[K]<A[K+1] <…<A[K+L-1])。流程图中,用Kj和Lj分别表示动态子序列的起始下标和长度,最后输出最长递增子序列的起始下标K和长度L。
    例如,对于序列A={1,2,4,4,5,6,8,9,4,5,8},将输出 K=4,L=5。
【流程图】
 
注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1,格式为:循环控制变量=初值,终值
 
问题:1.1  
 
 
2
 
(共15分)
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
    下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数 min4 (有0时为三位数),计算max4与min4的差值,得到一个新的四位数。若该数不等于6174,则重复以上过程,直到得到6174为止。
    例如,输入1234,则首先由4321-1234,得到3087;然后由8730-378,得到8352;最后由8532-2358,得到6174。
【C代码】
 
问题:2.1  
 
 
3
 
(共15分)
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
    对一个整数序列进行快速排序的方法是:在待排序的整数序列中取第一个数作为基准值,然后根据基准值进行划分,从而将待排序列划分为不大于基准值者(称为左子序列)和大于基准值者(称为右子序列),然后再对左子序列和右子序列分别进行快速排序, 最终得到非递减的有序序列。
    函数quicksort(int a[], int n)实现了快速排序,其中,n个整数构成的待排序列保存在 数组元素a[0]〜a[n-1]中。
【C代码】

 
问题:3.1  
 
 
4
 
(共15分)
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
    函数GetListElemPtr(LinkList L,int i)的功能是查找含头结点单链表的第i个元素。若找到,则返回指向该结点的指针,否则返回空指针。
    函数DelListElem(LinkList L,int i,ElemType *e)的功能是删除含头结点单链表的第i 个元素结点,若成功则返回SUCCESS,并由参数e带回被删除元素的值,否则返回 ERROR。
    例如,某含头结点单链表L如图4-1 (a)所示,删除第3个元素结点后的单链表如图4-1 (b)所示。



【C代码】
 
问题:4.1  
 
 
5
 
(共15分)
阅读以下说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
    在股票交易中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。其类 图如图5-1所示,相应的C++代码附后。

【C++代码】

 
问题:5.1  
 
 
6
 
(共15分)
阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
    在股票交易中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。其类图如图6-1所示.。相应的Java代码附后。

【Java代码】

 
问题:6.1