【计算机类职业资格】初级程序员下午试题-91及答案解析.doc
《【计算机类职业资格】初级程序员下午试题-91及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】初级程序员下午试题-91及答案解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、初级程序员下午试题-91 及答案解析(总分:90.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.阅读以下说明和流程图,回答问题将解答填入对应栏。 说明 下面的流程图,用来完成计算一组数组中的中值,其方法是:将数组中的一个值与其他值比较,并计算大于等于被比较数的数值的个数,以及小于等于被比较数的数值的个数,如果两数都大于 n/2,则已经找到了中值,否则继续之前的步骤。 注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述; * 问题 将流程图的(1)(5)处补充完整。(分数:15.00)填空项 1:_二、试题二(总题数:1,分数:15.00)2.
2、阅读以下函数说明和 C 语言函数,将应填入 (n) 处的字句写在对应栏内。 说明 1 L 为一个带头结点的循环链表。函数 LinkList deletenode(LinkList L,int c)的功能是删除 L 中数据域data 的值大于 C 的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。 C 函数 1 LinkList deletenode(LinkList L,int c) LinkList Lc,P,pre; pre=L; p= (1) ; Lc=(LinkList)malloc(sizeof(Listnode); Lc-next=Lc; whil
3、e(P!=L) if(p-dataC) (2) ; (3) ; Lc-next=p; p=pre-next; else pre=p; p=pre-next; return Lc; 说明 2 递归函数 dec_to_k_2(int n,int k)的功能是将十进制正整数 n 转换成*进制数,并打印。 C 函数 2 dec to k 2(int n,int k) if(n!=O) dec to k 2( (4) ,k); printf(“%d“, (5) ); (分数:15.00)填空项 1:_三、试题三(总题数:1,分数:15.00)3.阅读以下函数说明和 C 语言函数,将应填入 (n) 处的字
4、句写在对应栏内。 说明 函数 int psort(int a,int n)实现将含 n 个整数的数组 a的不同元素按从小到大顺序存于数组 a中。实现方法是从未确定的元素列中找到最小元素并将 a的第 i 最小元素交换至 ai位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。 C 函数 int psort(int a,int n) int i,J,k,P; for(i=0,k=0;i (1) ;i+) for(j=i+1, (2) ;jn; j+) if(apaj) p=j; if(p!=i) t=ap; ap=ai; ai=t; if( (3)
5、) k+; else if( (4) ai) (5) =ai; return k; int a=5,7,5,6,4,3,4,6,7; main() int k,n; for(k=0;k(Sizeof a)/Sizeof(int);k+) printf(“%5d“,ak); printf (“/n/n“); n=psort(a,(sizeof(a)/sizeof(int); for(k=0;kn;k+) printf(“%5d“,ak); printf(“/n/n“); (分数:15.00)填空项 1:_四、试题四(总题数:1,分数:15.00)4.阅读以下函数说明和 C 语言函数,将应填入 (
6、n) 处的字句写在对应栏内。 说明 这是一个求解 Josephus 问题的函数。用整数序列 1,2,3,n 表示顺序围坐在圆桌周围的人,并采用数组表示作为求解过程中使用的数据结构。Josephus 问题描述,设 n 个人围坐在一个圆桌周围,现在从第s 个人开始报数,数到第 m 个人,让他出局;然后从出局的下一个人重新开始报数,数到第 m 个人,再让他出局,如此反复直到所有的人全部出局为止。 C 函数 void Josephus(int A,int n,s,m) (int i,j,k,temp; if(m=O) printf(“m=0 是无效的参数!/n“); return; for(i=0;i
7、n;i+) Ai=i+1; / *初始化,执行 n 次 */ i= (1) /*报名起始位置 */ for(k=n;k1;k-) if( (2) ) i=0; i= (3) /*寻找出局位置 */ if(i!=k-1) tmp=Ai; for(j=i;Jk-1;j+) (4) ; (5) ; for(k=0;kn/2;k+) tmp=Ak;Ak=An-k+1;An-k+1=tmp; (分数:15.00)填空项 1:_五、试题五(总题数:1,分数:15.00)5.阅读以下说明和 C+程序,将应填入 (n) 处的字句写在对应栏内。 说明 下面程序实现十进制向其它进制的转换。 C+程序 #inclu
8、de“ioStream.h“ #include“math.h“ #include typedef struct node int data; node*next; Node; Class Transform DUDlic: void Trans(int d,int i); /d 为数字;i 为进制 void print(); private: Node*top; ; void Transform:Trans(int d,int i) int m,n=0; Node*P; while(d0) (1) ; d=d/i; p=new Node; if(!n) p-data=m; (2) ; (3)
9、; n+; else p-data=m; (4) ; (5) ; void Transform:print() Node*P; while(top!=NULL) p=top; if(p-data9) coutdata+55; else coutdata; top=p-next; delete p; (分数:15.00)填空项 1:_六、试题六(总题数:1,分数:15.00)6.阅读以下说明和 Java 程序,将应填入 (n) 处的字句写在对应栏内。 说明 下面程序实现十进制向其它进制的转换。 Java 程序 ClasS Node int data; Node next;class Transf
10、orm private Node top; public void print() Node p; while(top!=null) P=top; if(P.data9) System.out.print(char)(P.data+55); else System.out.print(p.data); top=p.next; public void Trans(int d,int i)/d 为数字;i 为进制 int m; (1) n=false; Node p; while(d0) (2) ; d=d/i; p=new Node(); if( (3) ) p.data=m; (4) ; to
11、p=P; n=true; else p.data=m; (5) ; top=P; (分数:15.00)填空项 1:_初级程序员下午试题-91 答案解析(总分:90.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.阅读以下说明和流程图,回答问题将解答填入对应栏。 说明 下面的流程图,用来完成计算一组数组中的中值,其方法是:将数组中的一个值与其他值比较,并计算大于等于被比较数的数值的个数,以及小于等于被比较数的数值的个数,如果两数都大于 n/2,则已经找到了中值,否则继续之前的步骤。 注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述; * 问题
12、将流程图的(1)(5)处补充完整。(分数:15.00)填空项 1:_ (正确答案:j=-1; (2) xj!=xi; (3) count_lower+; (4) count_lower(n/2.0)|count higher(n/2.0); (5) xj;)解析:解析 本题目考查流程图。 算法描述在题目中已经详细给出,通过阅读题目可知 j 用来定位数组中一个被比较的数,i 用来循环遍历数组中所有的数。j 应该从第 0 个数开始,又由于要执行一步 j=j+1,所以(1)中应填入“j=-1”,counUligher+说明遍历的数比被比较的数大,即(2)中应填入“xj!=xi”相应的,(3)中就应填
13、入“count_lower+”,题目说明中已经指出,当 count_lower 和 count_higher 都大于 n/2 时,就说明找到了中值,所以(4)应当填入“count_lower(n/2.0)count_higher(n/2.0)”,最后,如果循环结束,则xi就应该是中值,(5)中应填入“xj”。二、试题二(总题数:1,分数:15.00)2.阅读以下函数说明和 C 语言函数,将应填入 (n) 处的字句写在对应栏内。 说明 1 L 为一个带头结点的循环链表。函数 LinkList deletenode(LinkList L,int c)的功能是删除 L 中数据域data 的值大于 C
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 初级 程序员 下午 试题 91 答案 解析 DOC
