考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > C++语言程序设计 > C++模拟试题 > 文章内容
  

全国计算机二级考试C++上机考试试题及答案(11)

中华IT学院   【 】  [ 2017年7月4日 ]

  三、综合应用题

  使用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;

  }

  }

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved