设为首页 加入收藏

TOP

2018年3月计算机二级C++上机试题及答案(4)
2018-02-13 12:56:34 】 浏览:295
Tags:2018年 3月 计算机 二级 上机 试题 答案

综合应用题


使用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()


{


coutdata<<"";


P=P->next;


}


cout<  }


voidDelete(TC*p)


{


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


TC*t1=;


TC*t2;


while(t1!=NULL)


{


t2=t1->next:


deletetl;


t1=t2:


}


}


voidmain()


{


inti=0;


TChead:


do


{


intdata;


cout<<"请输入一个数字:"<  cin>>data;


if(data==O)break;


Insert(&head,data);


}while(1);


printf(&head);


Delete(&head):


return;


}


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2018年3月计算机二级C++上机试题.. 下一篇2018年3月计算机二级C++通关练习..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目