您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 年程序员考试模拟试卷下午题
路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网2008年程序员考试模拟试卷——下午题(考试时间14:00~16:30共150分钟)本试卷共8道题,考生需解答5道题,其中试题1~试题3是必答题,试题4和试题5两题任选1道题,试题6至试题8三题任选1道解答。对于任选题,如果解答的试题数超过1道,则题号小的1道题解答有效。每题15分,满分75分。试题一(15分,每空3分)阅读以下说明和流程图,将应填入__(n)__处的字句写在答题纸的对应栏内。[说明]已知头指针分别为La和Lb的有序单链表,其数据元素都是按值非递减排列。现要归并La和Lb得到单链表Lc,使得Lc中的元素按值非递减排列。程序流程图如下所示。试题二(15分,每空3分)阅读以下函数说明和C语言函数,将应填入___(n)___处的字句写在答题纸的对应栏内。[程序2.1说明]已知一个排好序的数组,现输入一个数,要求按原来的顺序规律,将它插入到数组中。[程序2.1]#include#defineN100voidmain(){floata[N=1],x;路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网inti,p;printf(输入已经排好序的数列:);for(i=0;iscanf(%f,&a[i]);printf(输入要插入的数:);scanf(%f,&x);for(i=0,p=N;iif(x{___(1)___break;}for(i=N-1;i=p;i--)___(2)______(3)___for(i=0;i=N;i++)printf(%f\t,a[i]);}[程序2.2说明]路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网本程序用变量count统计文件中字符的个数。[程序2.2]#include#includevoidmain(){FILE*fp;longcount=0;if((fp=fopen(letter.txt,r))==NULL){printf(cannotopenfile\n);exit(0);}while(!feof(fp)){___(4)___count++;}printf(count=%d\n,count);路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网___(5)___}试题三(15分,每空3分)阅读以下说明和C语言程序,将应填入___(n)___处的字句写在答题纸的对应栏内。[说明]Fibonacci数列A={11,2,3,5,8,…}有如下性质:a0=a1=1ai=ai-1+ai-2i1对于给定的n,另外有一个由n个元素组成的数列xn,该数列中各元素的值为:xi=ai/ai+1i=0,1,…,n现要求对xn中的元素按升序进行排序,然后以分数形式输出排序后的xn。例如n=5时,排序前的xn={1/1,1/2,2/3,3/5,5/8},排序后的xn={1/2,3/5,5/8,2/3,1/1}。程序中函数make()首先生成排序前的xn,然后调用函数sort()进行排序,最后输出所求结果。[程序]#include#include#includestructfact{longm,n;路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网};voidsort(intn,structfact*p){inta;longs,t,u,v;structfact*q,*end;for(end=p+(n-1),a=1;a;end--)for(a=0,q=p;q{s=q-m;t=q-n;u=(q+1)-m;v=(q+1)-n;if(___(1)___){q-m=u;___(2)______(3)___(q+1)-n=t;路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网a=1;}}}voidmake(intn){inti;longa,b,c;structfact*x,*y;x=(structfact*)malloc(sizeof(structfact)*n);x-m=1;x-n=1;for(a=1,b=1,i=2;i=n;i++){___(4)___a=b;b=c;(x+(i-1))-m=a;(x+(i-1))-n=b;路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网}___(5)___printf(x%d={%1d/%1d,n,x-m,x-n);for(y=x+1;yX+N;Y++)pprintf(,%1d/%1d,y-m,y-n);printf(}\n);free(x);}voidmain(){intn;printf(inputn:);scanf(%d,&n);make(n);}试题四(15分,每空3分)(欢迎访问软件考试网)阅读以下说明和C语言程序,将应填入___(n)___处的字句写在答题纸的对应栏内。[说明]本程序对某电码文(原文)进行加密形成密码文,其加密算法如下路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网假定原文为C1,C2,C3,…,Cn加密后形成的密文为S1,S2,S3,…,Sn,首先读入正整数key(key1)作为加密钥匙,并将密文字符位置按顺时针方向连成一个环,如下图所示:加密时从S1位置起顺时针计数,当数到第key个字符位置时,将原文中的字符放入该密文字符位置中,同时从环中除去该字符位置;接着从环中下一个字符位置起继续计数,当再次数到第key个字符位置时,将原文中字符C2放入其中,并从环中除去该字符位置;依次类推,直至n个原文字符全部放入密文环中。由此产生的S1S2...Sn即为原文的密文。例如,当Key=3时,原文:thisisadecodingsystem的密文为:aotgnhediysdimietsncss当Key=4时,该原文的密文为:ssdtydhtegiasiscnmeion#include#includetypedefstructnode{charch;structnode*forward;/*Linktonextnode.*/structnode*backward;/*Linktopreviousnode.*/}CODE;路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网intstrlen(char*s){intlen=0;while(*s++!='\0')len++;return(len);}char*decode(char*old,intkey){char*New;intlength,count,i;CODE*loop,*p;length=strlen(old);loop=(CODE*)malloc(length*sizeof(CODE));for(i=1;i{loop[i].forward=&loop[i+1];___(1)___}loop[0].backward=&loop[length-1];loop[0].forward=&loop[1];loop[length-1].forward=loop;___(2)___路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网for(p=loop,i=0;i{for(count=1;countp=p-forward;___(3)___p-backward-forward=p-forward;p-forward-backward=p-backward;___(4)___}New=(char*)malloc((length+1)*sizeof(char));for(i=0;i___(5)___New[length]='\0';return(New);}voidmain(){charold[256];intkey,num=0;printf(\nPleaseinputthetelegraph:\n);while(num255&&(old[num++]=getchar())!='\n');路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网old[(num==255)?num:num-1]='\0';do{printf(\nPleaseinputKey(Key1):);scanf(%d,&key);}while(key=1);printf(\nThedecodeoftelegraph:'%s'is:\n'%s'\n,old,decode(old,key));}试题五(15分,每空3分)阅读以下说明及VisualBasic程序代码,将应填入___(n)___处的字句写在答题纸的对应栏内。[说明]本程序实现如下功能:首先,单击“生成”按钮,生成一个由10个随机大写字母组成的字符串,并在文本框中显示。然后,单击“排序”按钮,将此随机字符串中的各个字母按递增顺序添加到列表框中。程序运行界面如下:路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网[程序]AsStringPrivateSubget_Click()DimiAsIntegerRandomizeFori=1To10str1=Trim(str1)&Chr(Int(___(1)___))NextText1.Text=str1EndSubPrivateSubsort_Click()DimiAsIntegerDimjAsInteger路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网Fori=1To26j=___(2)___DoWhilej0___(3)___j=j-1LoopNextEndSubPrivateFunctionsearch(str1AsString,str2AsString)AsIntegerDimint1AsInteger,int2AsIntegerint1=1Doint1=___(4)___Ifint1=0ThenExitDoint2=int2+1int1=int1+1Loopsearch=___(5)___EndFunction(路过··走过···需要的时候记得回来看看····因为容易得到所以得不到大家的珍惜·即使这样我们也要做下去!·············我下资源网试题六(15分,每空3分)阅读以下说明和C++程序,将应填入___(n)___处的字句写在答题纸的对应
本文标题:年程序员考试模拟试卷下午题
链接地址:https://www.777doc.com/doc-2492518 .html