您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 本试卷共8道题,考生需解答5道题,其中试题1~试题3是必答题,试题
本试卷共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统计文件中字符的个数。[NextPage][程序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={/,n,x-m,x-n);for(y=x+1;yprintf(,/,y-m,y-n);printf(}\n);free(x);}voidmain(){intn;printf(inputn:);scanf(%d,&n);make(n);}[NextPage]试题四(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));}[NextPage]试题五(15分,每空3分)阅读以下说明及VisualBasic程序代码,将应填入___(n)___处的字句写在答题纸的对应栏内。[说明]本程序实现如下功能:首先,单击“生成”按钮,生成一个由10个随机大写字母组成的字符串,并在文本框中显示。然后,单击“排序”按钮,将此随机字符串中的各个字母按递增顺序添加到列表框中。程序运行界面如下:[程序]AsStringPrivateSubget_Click()DimiAsIntegerRandomizeFori=1To10str1=Trim(str1)&Chr(Int(___(1)___))NextText1.Text=str1EndSubPrivateSubsort_Click()DimiAsIntegerDimjAsIntegerFori=1To26j=___(2)___DoWhilej0___(3)___j=j-1LoopNextEndSubPrivateFunctionsearch(str1AsString,str2AsString)AsIntegerDimint1AsInteger,int2AsIntegerint1=1Doint1=___(4)___Ifint1=0ThenExitDoint2=int2+1int1=int1+1Loopsearch=___(5)___EndFunction([NextPage]试题六(15分,每空3分)阅读以下说明和C++程序,将应填入___(n)___处的字句写在答题纸的对应栏内。[说明]字符串在程序设计中扮演着重要角色。现需要设计字符串基类string,包含设置字符串、返回字符串长度及内容等功能。另有一个具有编辑功能的串类edit_string,派生于string,在其中设置一个光标,使其能支持在光标处的插入、删除操作。[程序]#include#include#includeclassstring{intlength;char*data;public:intget_length(){returnlength;}char*get_data(){returndata;}~string(){deletedata;}intset_data(intin_length,char*in_data);intset_data(char*data);voidprint(){cout};classedit_string:publicstring{intcursor;public:intget_cursor(){returncursor;}voidmove_cursor(intdis){cursor=dis;}intadd_data(string*new_data);voiddelete_data(intnum);};intstring::set_data(intin_length,char*in_data){length=in_length;if(!data)deletedata;___(1)___strcpy(data,in_data);returnlength;}intstring::set_data(char*in_data){___(2)___if(!data)deletedata;___(1)___strcpy(data,in_data);returnlength;}intedit_string::add_data(string*new_data){intn,k,m;char*cp,*pt;n=new_data-get_length();pt=new_data-get_data();cp=this-get_data();m=this-get_length();char*news=newchar[n+m+1];for(inti=0;inews[i]=cp[i];k=i;for(intj=0;jnews[i]=pt[j];cursor=i;for(j=k;j___(3)___news[i]=’\0’;___(4)___deletenews;returncursor;}voidedit_string::delete_data(intnum){intm;char*cp;cp=this-get_data();m=this-get_length();for(inti=cursor;i___(5)___cp[i]=’\0’;}[NextPage]试题七(15分,每空3分)阅读以下说明及Vis
本文标题:本试卷共8道题,考生需解答5道题,其中试题1~试题3是必答题,试题
链接地址:https://www.777doc.com/doc-2378249 .html