400-8077-735

您现在的位置是: 首页 > 真题资料 > 备考辅导 > 二级

2020年下半年计算机等级考试二级C++备考试题(1)

整理编辑:计算机等级考试网  发布时间:2020-06-12 16:49:00  阅读量:

综合应用题


使用VC++6.0打开考生文件夹下的源程序文件3.cpp,阅读下列程序说明和代码,功能如下:


从屏幕输入数字,然后由大到小插入到指定的链中。当输入0时,表示输出的数据已经输入完成,把数据打印到屏幕,并释放内存。


其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。


(1)在父结点的Next中保存新插入的结点的指针,请在注释1后添加适当的语句。


(2)把pNext的子结点赋给pNext本身,请在注释2后添加适当的语句。


(3)判定P的子结点不为空,如果不为空,则打印P中的数据到屏幕,请在注释3后添加适当的语句。


(4)用t1保存动态申请内存结点的链表头,请在注释4


后添加适当的语句。


注意:仅在函数指定位置添加语句,请勿改动主函数


main与其他函数中的任何内容。


试题程序:


#include


classTC


{


public:


TC(intdata=O)


{


this->data=data;


this->next=NULL;


}


intdata;


TC*next;


};


voidInsert(TC*P,intdata)


{


TC*temp=newTC(data);


TC*pParent=P:


TC*pNext=p-)next:


while(pNext)


{


if(data>pNext->data)


{


//********1********


temp->next=pNexti


return;


}


else


{


pParent=pNext;


//********2********


}


}


if(pNext==NULL)


{


pParent->next=temp;


return;


}


}


voidprintf(TC*p)


{


//********3********


while()


{


cout<next->data<<"";


P=P->next;


}


cout<<ENDL;< p>


}


voidDelete(TC*p)


{


//********4********


TC*t1=;


TC*t2;


while(t1!=NULL)


{


t2=t1->next:


deletetl;


t1=t2:


}


}


voidmain()


{


inti=0;


TChead:


do


{


intdata;


cout<<"请输入一个数字:"<<ENDL;< p>


cin>>data;


if(data==O)break;


Insert(&head,data);


}while(1);


printf(&head);


Delete(&head):


return;


}


}


答案:(1)应添加“pParenl->next=telnp;”。


(2)应添加“pNext=pNext->next;”。


(3)将“while()”补充完整为“while(P->next!=NULL)”。


(4)将“TC*t1=;”补充完整为“TC*t1=P->next;”。

转载请注明:文章转载自(http://www.jsjdj.net)

本文地址:http://www.jsjdj.net/erji_bk/1916.html

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!