【计算机类职业资格】初级程序员下午试题-79及答案解析.doc
《【计算机类职业资格】初级程序员下午试题-79及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】初级程序员下午试题-79及答案解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、初级程序员下午试题-79 及答案解析(总分:120.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.【说明】下列流程图用于从数组 K 中找出一切满足:K(I)+K(J)=M 的元素对(K(I),K(J)(1IJN)。假定数组K 中的 N 个不同的整数已按从小到大的顺序排列,M 是给定的常数。【流程图】此流程图 1 中,比较“K(I)+K(J):M”最少执行次数约为 (5) 。(分数:15.00)_二、试题二(总题数:1,分数:15.00)2.【说明】函数 print(BinTreeNode*t; DateType DateType int i, top; top =
2、0;/置空栈while(t! = NULL STtop. ptr = t;STtop. tag = 0;(2) ;if(t!= Null (3) ;i +)printf(“%d“ ,STtop. ptr -data);else while( (4) )top-;if(top0)STtop. tag = 1;(5) ;(分数:15.00)_三、试题三(总题数:1,分数:15.00)3.【说明】函数 DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表A 中关键码为 key1 的结点开始的 len 个结点
3、,按原顺序移至线性表 B 中关键码为 key2 的结点之前,若移动成功,则返回 0;否则返回-1。线性表的存储结构为带头结点的单链表,La 为表 A 的头指针,Lb 为表B 的头指针。单链表结点的类型定义为typedef struct node int key;struct node * next;*LinkedList;【函数】int DelA_InsB ( LinkedList La, LinkdeList Lb,int key1,int key2,int len)LinkedList p,q,s,prep,pres;int k;if( ! La-next | ! Lb- next | e
4、n =0)return-1;p = La - next;prep = La;while(pp = p - next;if( ! p) return - 1; /*在表 A 中不存在键值为 key1 的结点*/q=p;k=1;while(q k+;if( ! q)return -1; /*表 A 中不存在要被删除的 len 个结点*/s = Lb - next; (3) ;while(s s =s-next;if( ! s) return - t; /*表 B 中不存在键值为 key2 的结点*/(4) =q- next; /*将表 A 中的 len 个结点删除*/q-next= (5) ;pr
5、es - next = p; /*将 len 个结点移至表 B */return 0;(分数:15.00)_四、试题四(总题数:1,分数:15.00)4.【说明】将一正整数序列 K1,K2,K9 重新排列成一个新的序列,新序列中,比 K1 小的数都在 K1 的前面(左面),比 K1 大的数都在 K1 的后面(右面),最后调用 writeDat()函数的新序列输出到文件 out.dat 中。在程序中已给出了 10 个序列,每个序列有 9 个正整数,并存入数组 a109中,分别求出这 10 个新序列。例:序列 6,8,9,1,2,5,4,7,3经重排后成为 3,4,5,2,1,6,8,9,7【函数
6、】#include stdio. h #include conio. h void jsValue( int a 10 9 )int i,j,k,n,temp;int b9;for(i=0;i10;i+)temp=ai 0;k=8;n=0;for(j=8;j=0;j-)if(temp ai j) (1) =aij;if(temp ai j) (2) =aij;if(temp =ai j) (3) = temp;for(j=0;j9;j+) aij =bj;void main( )int a10 9 = 6,8,9,1,2,5,4,7,3,3,5,8,9,1,2,6,4,7,8,2,1,9,3,
7、5,4,6,7, 3,5,1,2,9,8,6,7,4,4,7,8,9,1,2,5,3,6, 4,7,3,5,1,2,6,8,9,9,1,3,5,8,6,2,4,7, 2,6,1,9,8,3,5,7,4,5,3,7,9,1,8,2,6,4, 7,1,3,2,5,8,9,4,6;int i,j;(4) ;for(i=0;i10;i+) for(j=0;j9;j+) printf(“%d“,ai j );if( (5) )printf(“,“);printf(“ /n“ );getch( );(分数:15.00)_五、试题五(总题数:1,分数:15.00)5.【说明】本应用程序的运行窗口如图 2 所
8、示。(分数:15.00)_六、试题六(总题数:1,分数:15.00)6.【说明】设计一个类模板 SamPle 用于对一个有序数组采用二分法查找元素下标。【C+程序】#include iostream. h #define Max 100 /最多元素个数template class T class SampleT AMax: /存放有序数序int n: /实际元素个数publicSample( ) /默认构造函数Sample(T a ,int i); /初始化构造函数int seek(T c);void disp( )for(int i=0;i n;i +)coutAi “ “;coutendl
9、:template class T Sample T: :Sample(T a ,int i)n=i:for( intj =0;j i;j + )(1) ;template class T int Sample T : seek( T c)int low =0,high = n-1 ,mid;while( (2) )mid = (low + high)/2;if( (3) )return mid;else if( (4) )low=mid+|;else(5) ;return-1;void main( )char a =“acegkmpwxz“;Sample char s(a, 1);cout“
10、元素序列:“ ;s. disp( );cout“元素g的下标:“s. seek(g) endl;(分数:15.00)_七、试题七(总题数:1,分数:15.00)7.【说明】下面的程序的功能是利用实现 Runnable 接口的方法来创建线程,并利用它来执行响应的一些操作。最后使得 m 的执行结果:100,如图 3。(分数:15.00)_八、试题八(总题数:1,分数:15.00)8.【说明】该应用程序是用来修改文本框中的字体属性,其运行窗口如图 4 所示。(分数:15.00)_初级程序员下午试题-79 答案解析(总分:120.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1
11、.【说明】下列流程图用于从数组 K 中找出一切满足:K(I)+K(J)=M 的元素对(K(I),K(J)(1IJN)。假定数组K 中的 N 个不同的整数已按从小到大的顺序排列,M 是给定的常数。【流程图】此流程图 1 中,比较“K(I)+K(J):M”最少执行次数约为 (5) 。(分数:15.00)_正确答案:(1) (2) (3)I+1-I (4)J-1-J (5)N/2)解析:解析 该算法的思路是:设置了两个变量 I 和 J,初始时分别指向数组 K 的第一个元素和最后一个元素。如果这两个元素之和等于 M 时,输出结果,并这两个指针都向中间移动;如果小于 M,则将指针I 向中间移动(因为数组
12、 K 已按从小到大的顺序排列);如果大于 M,则将指针 J 向中间移动(因为数组 K 已按从小到大的顺序排列)。当 IJ 时,说明所有的元素都搜索完毕,退出循环。根据上面的分析,(1)、(2)空要求填写循环结束条件,显然,(1)空处应填写“”,(2)空处应填写“”。这里主要要注意 I=J 的情况,当 I=J 时,说明指两个指针指向同一元素,应当退出循环。(3)空在流程图有两处,一处是当 K(I)+K(J)=M 时,另一处是当 K(I)+K(J)M 时,根据上面分析这两种情况都要将指针 I 向中间移动,即“I+1-I”。同样的道理,(4)空处应填写“J-1-J”。比较“K(I)+K(J):M”最
13、少执行次数发生在第 1 元素与第 N 个元素之和等于 M、第 2 元素与第 N-1 个元素之和等于 M、,这样每次比较,两种指针都向中间移动,因此最小执行次数约为“N-2”。二、试题二(总题数:1,分数:15.00)2.【说明】函数 print(BinTreeNode*t; DateType DateType int i, top; top = 0;/置空栈while(t! = NULL STtop. ptr = t;STtop. tag = 0;(2) ;if(t!= Null (3) ;i +)printf(“%d“ ,STtop. ptr -data);else while( (4) )
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 初级 程序员 下午 试题 79 答案 解析 DOC
