2021年下半年程序员试题及答案(下午)1_第1页
2021年下半年程序员试题及答案(下午)1_第2页
2021年下半年程序员试题及答案(下午)1_第3页
2021年下半年程序员试题及答案(下午)1_第4页
2021年下半年程序员试题及答案(下午)1_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、xx年下半年程序员试题及答案(下午)1 流程图中_(1)_处按“循环变量名:循环初值,增量,循环终值”格式描述。 试题二(15分,每空3分) 阅读下列说明和流程图,将应填入_(n)_的字句写在答题纸的对应栏内。 【函数说明】 函数sort(int a,int n)的功能时对数组a中的a0an-1这n个元素进行排序。排序过程如下:第一趟对所有的偶数下标p,比较a和ap+1,若aap+1,则将两者交换;第二趟对所有的奇数下标q,比较aq和aq+1,若aqaq+1,则将两者交换;第三趟对偶数下标,第四趟对奇数下标,依次类推,直至整个数组元素有序排列为止。 【函数 void sort (int a,i

2、nt n) int I ,j,t,tag=1; for(j=0;jn;j+ for (I=_(1)_;in-1;_(2)_ if (aaI+1) t=a;a=aI+1;aI+1=t;tag=0; tag+ if (_(3)_) break; 对包含十个元素的数组a采用上述方法排序时,元素间的比较次数最少为_(4)_次,最多为_(5)_次。 链表结点的类型定义为: typedef struct node int key; struct node *next; *LinkedList 【函数 int movetoend(LinkedList La,int i) LinkedList p ,q,pr

3、ep; Int k=1; P=La-next;prep=La; While(_(1)_) /*查找第I个元素并使指针p指向该结点*/ Prep=p; p=-next;k+ if (!p|ki)return -1; if (_(2)_) /*第I个元素结点已经是表尾结点,则无需 _*/ return 0; q=p; while(_(3)_)q=q-next; /*查找表尾并使q指向表尾结点*/ _(4)_=p-next; p-next=NULL; _(5)_; return 0; 从下列的2道试题(试题四至试题五)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。 试题四(15分

4、,每空3分) 阅读下列说明和流程图,将应填入_(n)_的字句写在答题纸的对应栏内。 【说明 某单位举办了一场知识竞赛,参加竞赛的选手为300名,依次从1300进行编号。竞赛时间为9:0011:00。8道竞赛题目依次从AH编号,选手可按任意次序答题,每完成一道题目,可立即提交答案。若答题正确(Y),则选择其他题目进行解答,否则,可继续做该题目或选择其他题目进行解答,直至竞赛结束。 选手提交答案的情况及判定结果由专人即时录入,录入的数据如下表1所示,对竞赛情况进行统计和排名的结果如表2所示。 表1:输入数据 提交时间 选手编号 题目编号 是否正确 09:37 14 A N 09:50 8 A Y

5、09:51 9 B N 09:52 14 A N 10:14 5 A N 10:16 9 B N 10:23 5 A Y 10:23 8 B Y 10:27 14 A Y 表2:输出结果 名次 选手编号 完成题目数量 总用时(分钟) 1 8 2 133 2 5 1 103 3 14 1 127 统计和排名的规则如下: 1. 若选手X在竞赛时提交的题目P解答正确,2. 则解答该题目所用时间如下计算: 解答题目P的用时提交题目P正确的时间竞赛的开始时间罚时 罚时提交题目P错误解答的次数20 例如:表1中14号选手在10:27提交了题目A的正确解答,因此该选手正确解答该题目所用时间为87分钟,由于之

6、前的两次提交错误解答,罚时为22040分钟,所以14号选手解答题目A的用时8740127(分钟)。 2已经提交正确答案的题目再次提交时不再计算。 3竞赛结束时,选手的总用时为所有解答正确的题目用时累加所得,解答不正确的题目不计时。 4排名时,完成题目数量多者排名靠前;若完成的题目数相同,则用时少者排名靠前;若完成的题目数和所用时间均相等,则名次相同;完成题目数为0的选手不参加排名。 函数void Statistic()的功能是:读取输入数据,进行统计、排名并输出结果。 define MAXN 300 typedef struct int no; /*选手编号*/ int num; /*完成的题

7、目数量*/ int time; /*完成题目的总用时*/ int d8; /*d用于记录提交第I个题目错误答案的次数*/ int a8; /*a用于记录第I个题目是否已经提交正确答案*/ Info; 【函数】 void Statistic () char ch,pass; int I,j,k,h,m,t,time,MaxIndex; Info RMAXN+1; For(I=1;I=MAXN;I+) /*数组R的元素置初值0*/ R no=0; R num=0; R time=0; For(j=0;jMaxIndex) MaxIndex=k; /*while*/ for (I=1;I=MaxIn

8、dex;j+) if (Rt num0) if (R num!=R0 num | R time!=R0 time) k+; R0=_(5)_; Printf(“%d: %3d %4d %5d ”,k,R no,R num R time); /*if*/ /*Statistic*/ 试题五(15分,每空3分) 阅读下列说明及Visual Basic程序代码,将应填入_(n)_的字句写在答题纸的对应栏内。 【应用说明 某单位举办了一场知识竞赛,参加竞赛的选手为300名,依次从1300进行编号。竞赛时间为9:00 11:00。8道竞赛题目依次从AH编号,选手可按任意次序答题,每完成一道题目,可立即提

9、交答案。若答题正确(Y),则选择其他题目进行解答,否则,可继续做该题目或选择其他题目进行解答,直至竞赛结束。 选手提交答案的情况及判定结果由专人即时录入,录入数据包括提交答案的时间、选手编号、题目编号(AH)、是否正确(Y/N)。 对竞赛情况进行统计和排名的规则如下: 1.若选手X在竞赛时提交的题目P解答正确,则解答该题目所用时间如下计算: 解答题目P的用时提交题目P正确的时间竞赛的开始时间罚时 罚时提交题目P错误解答的次数20 例如:表1中14号选手在10:27提交了题目A的正确解答,因此该选手正确解答该题目所用时间为87分钟,由于他在09:37和09:52两次提交了题目A的错误解答,因此罚时为22040分钟,所以14号选手解答题目A的用时8740127(分钟)。 2.已经提交正确答案的题目再次提交时不再计算。 3.竞

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论