欢迎来到天天文库
浏览记录
ID:42846686
大小:212.98 KB
页数:10页
时间:2019-09-22
《计算机水平考试-初级程序员下午试题模拟2》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、初级程序员下午试题模拟2试题一阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】以下程序实现了二叉树的结点删除算法,若树屮存在要删除的结点,则删除它,否则返回。FindNode6函数能够在二叉树中找到给定值的结点,并返回其地址和父结点。【C++程序】templatevoidBinSTree::Delete(constT&item){TreeNode*DelNodePtrz*ParNodePtr,*RepNodePtr;if((DelNodePtr=FindNode(item,ParNodePt
2、r))==NULL)]if(DelNodePtr->right==NULL)//被删除结点只有一个子结点的情况RepNodePtr=DelNodePtr^left;elseif(DelNodePtr-*left==NULL)else//被删除结点有两个子结点的情况{TreeNode*PofRNodePtr=DelNodePtr;RepNodePtr=DelNodePtr-^left;while(RepNodePtr-^right!=NULL){//定位左子树的最右结点PofRNodePtr=RepNodePtr;RepNodePtr=
3、RepNodePtr-^right;}if(PofRNodePtr==DelNodePtr)//左子树没有右子结,点else//用左子顷的最右结点替换删除的结点{4RepNodePtr-*left=DelNodePtr^left;RepNodePtr-*right=DelNodePtr-*right;}}if5//要删除结点是要结点的情况root=RepNodePtr;elseif(DelNodePtr-^data4、ht=RepNodePtr;FirstTreeNode(DelNodePtr);//释放内存资源size—;}试题二阅读以下应用程序说明和C程序,将C程序段中⑴〜(7)空缺处的语句填写完整。6、【说明】以下【C程序】能将自然数1,2,N?按蛇形方式逐个存入N阶矩阵。换言之,程序从%。开始到a0no为止(n=N-l)顺序填入自然数,交替地对每-•斜列从左上元素向右下元素或从右下元素向左上元索存数。648531155762127394211318202211154091222113077485343211898657621一一2211421685、3944432114512592054432111536034015544322116279431655433222071885266554332程序输出结果1【C程序】#include#defineSIZE10inta[SIZE・[SIZE・,k;main(){inti,jzn,N;for(N=3;N<=SIZE;N++){k=1;makeArray(n=N-l);printf("N=%d;",n+1);for(i=0;i<=n;i++){for(j=0;j<=n;j++)printf(n%4d"za[i][j]6、);printf(nH);程序输出结果2makeline(introw_start,intcol_start,introwend){八完成矩阵一条余戡的整数填写★/■inti,j,sign=(1);for(i=row_start,j=colstart;(2);i+=sign,j+=sign)a[i][j]=k++;}makeArray(intn){/★完成矩阵每条斜线的整数填写*/intd;for(d=1;d<=(3);d++)if(d<=n)if(d%2)makeline((4));elsemakeline((5));elseif(d7、%2)makeline((6));elsemakeline(⑺);试题三7、阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]已知r[l...n]是n个记录的递增冇序表,用折半查找法查找关键字为k的记录。若查找失败,则输lB''failure1*z函数返冋值为0;否则输出''success",函数返冋值为该记录的序号值。[C函数]intbinarysearch(structrecordtyper[],intn,keytypek){intmid,low=l,hig=n;while(low<=hig){mid=(1);i8、f(k
4、ht=RepNodePtr;FirstTreeNode(DelNodePtr);//释放内存资源size—;}试题二阅读以下应用程序说明和C程序,将C程序段中⑴〜(7)空缺处的语句填写完整。6、【说明】以下【C程序】能将自然数1,2,N?按蛇形方式逐个存入N阶矩阵。换言之,程序从%。开始到a0no为止(n=N-l)顺序填入自然数,交替地对每-•斜列从左上元素向右下元素或从右下元素向左上元索存数。648531155762127394211318202211154091222113077485343211898657621一一221142168
5、3944432114512592054432111536034015544322116279431655433222071885266554332程序输出结果1【C程序】#include#defineSIZE10inta[SIZE・[SIZE・,k;main(){inti,jzn,N;for(N=3;N<=SIZE;N++){k=1;makeArray(n=N-l);printf("N=%d;",n+1);for(i=0;i<=n;i++){for(j=0;j<=n;j++)printf(n%4d"za[i][j]
6、);printf(nH);程序输出结果2makeline(introw_start,intcol_start,introwend){八完成矩阵一条余戡的整数填写★/■inti,j,sign=(1);for(i=row_start,j=colstart;(2);i+=sign,j+=sign)a[i][j]=k++;}makeArray(intn){/★完成矩阵每条斜线的整数填写*/intd;for(d=1;d<=(3);d++)if(d<=n)if(d%2)makeline((4));elsemakeline((5));elseif(d
7、%2)makeline((6));elsemakeline(⑺);试题三7、阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]已知r[l...n]是n个记录的递增冇序表,用折半查找法查找关键字为k的记录。若查找失败,则输lB''failure1*z函数返冋值为0;否则输出''success",函数返冋值为该记录的序号值。[C函数]intbinarysearch(structrecordtyper[],intn,keytypek){intmid,low=l,hig=n;while(low<=hig){mid=(1);i
8、f(k
此文档下载收益归作者所有