预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

初级程序员下午试题模拟78 试题一 1、阅读以下说明和流程图,将应填入______处的字句填写完整。 [说明] 下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。 设这篇文章由字符A(0),…,A(n-1)依次组成,指定关键词由字符B(0),…,B(m-1)依次组 成,其中n>m≥1。注意,关键词的各次出现不允许有交叉重叠。例如,在“aaaa”中只出现两次“aa”。 该流程图采用的算法是:在字符串A中,从左到右寻找与字符串B相匹配的并且没有交叉重叠的 所有子串。流程图中,i为字符串A中当前正在进行比较的动态子串首字符的下标,j为字符串B的下 标,k为指定关键词出现的次数。 [流程图] 试题二 2、阅读以下程序说明和C语言程序,将应填入______处的字句填写完整。 [说明] 希赛教育集团公司为发展生产向社会公开招聘M个工种的工作人员,每个工种各有不同的编号 (1至M)和计划招聘人数。每位应聘者需申报两个工种,并参加公司组织的考试。公司将按应聘者的 成绩从高分至低分的顺序进行排队录取。公司的录取原则是:从高分到低分依次对每位应聘者先按其 第一志愿录取;当不能按其第一志愿录取时,便将他的成绩扣去5分后,重新排队,并按其第二志愿 考虑录取。 程序为输出各工种实际招聘的应聘人员,每个工种都保留一个录取者的有序队列。录取处理循 环直至招聘额满或已对全部应聘者都做了录取处理。 程序中,类型STU包含有应聘者的基本信息:编号、成绩、志愿、排队成绩和录取志愿号。数 组rz[]的每个元素对应一个工种,包含有计划招聘人数和已录取的人数。 [程序] #include<stdio.h> #include<matloc.h> #defineM20 #definePEMARK5 typedefstructstu{ intno,total,z[2],sortm,zi; structstu*next; }STU; structrzmode{ intlmt,count; STU*next; }rz[M]; STU*head=NULL,*over=NULL; intall FILE*fp; print(STU*p){ for(;p!=NULL;p=p->next) >no,p->total); } insert(STU**p,STU*u){ STU*v,*q; for(q=*p;q!=NULL;v=q,______) if(q->sortm<u->sortm)break; if(q==*P)______; else______; u->next=q; } main(){ intzn,i,no,total,z1,z2; STU*p,*v,*q; if(fp==NULL){ exit(0); } for(all=0,i=1;i<=zn;i++){ rz[i].count=0;rz[i].next=NULL; all+=______; } for(;;){ break; p=(STU*)malloc(sizeof(STU)); p->no=no; p->total=p->sortm=total; p->zi=0;p->z[0]=z1;p->z[1]=z2; ______; } fctose(fp); for(;all&&head!=NULL;){ p=head;head=head->next; if(rz[p->z[p->zi]].count<______){ rz[p->z[p->zi]].count++; insert(&rz[p->z[p->zi]].next,p); all--; continue: } if(p->zi>=1){ p->next=over;over=p; continue; } p->sortm-=DEMARK;______; insert(&head,p); } for(i=1;i<=zn;i++){ print(rz[i].next); } } 试题三 3、阅读以下函数说明和C语言函数,将应填入______处的字句填写完整。 [说明] 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。 [函数] main() { intnumber[20],n,m,i; for(i=0;i<=n-1;i) ______; for(i=0;i<=n-1;i) } move(array,n,m) intn,m,array[20]' { int*p,array_end; array_end=______; for(p=array[n-1];______;p--) *p=______; *array=array_end; m--; if(m>0)______;} 试题四 4