首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下: 从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。 其中定义的类并不完整,按要求完成下列操作
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下: 从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。 其中定义的类并不完整,按要求完成下列操作
admin
2016-10-28
64
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下:
从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。
其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)在父节点的Next中保存新插入的节点的指针,请在注释//********1********后添加适当的语句。
(2)把pNext的子节点赋给pNext本身,请在注释//********2********后添加适当的语句。
(3)判定p的子节点不为空,如果不为空,则打印p其中的数据到屏幕,请在注释//********3********后添加适当的语句。
(4)用temp1保存动态申请内存节点的链表头,请在注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
#include<iostream.h>
class TestClass
{
public:
TestClass(int data=0)
{
this->data=data;
this->next=NULL;
};
int data;
TestClasS*next;
};
void Insert(TestClaNs*p,int data)
{
TestClass*temp=new TestClass
(data);
TestClass*pParent=p;
TestClass*pNext=p->next;
while(pNext)
{
if(data>pNext->data)
{
//********1********
temp->next=pNext;
return;
}
ElSe
{
pParent=pNext;
//********2********
}
}
if(pNext==NULL)
{
pParent->next=temp;
return;
}
}
void printf(TestClass*p)
{
//********3********
whil’e()
{
cout<<p->next->data<<" ";
p=p->next;
}
cout<<endl;
}
void Delete(TestClass*p)
{
//********4********
TestClass*temp1=;
TestClass*temp2;
while(temp1 !=NULL)
{
temp2=temp1->next;
delete temp1
temp1=temp2;
}
}
void main()
{
int i=0;
TeStClass head;
do
{
int data;
cout<<"请输入一个数字:"<<end1;
Cin>>data;
if(data==0)break;
Insert(&head,data);
}while(1);
printf(&head);
Delete(&head);
return;
}
选项
答案
(1)添加语句:pParent->next=temp; (2)添加语句:pNext=pNext->next; (3)将“while()”补充完整为:while(p->next!=NULL) (4)将“TestClass*temp1=;”补充完整为:TestClass*temp1=p->next;
解析
(1)题目1要求“在父节点的Next中保存新插入的节点的指针”。对于指针的操作pParent->next为pParent的子结点,在父节点的Next中保存新插入的节点的指针,即“pParent->next=temp;”。
(2)题目2要求“把pNext的子节点赋给pNext本身”。pNext->next为pNext的子结点,把pNext的子节点赋给DNext本身,即“pNext=pNext->next;”。
(3)注释//********3********下是判定P的子节点不为空。P的子节点是p->next。程序中的“while()”缺乏P的子节点不为空的判断条件,所以修改为“while(p->next!=NULL)”。
(4)题目4要求“用temp1保存动态申请内存节点的链表头”。p为链表,p->next为链表头。程序中的语句“TestClass*temp1=;”中temp1没有被赋值,所以修改为“TestClass*temp1=p.>next;”。
转载请注明原文地址:https://kaotiyun.com/show/8ONp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是
下列叙述中正确的是______.
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
静态成员函数可以直接访问类的【】成员,不能直接访问类的【】成员。
下面程序的输出结果是【】。#include<iostream.h>voidmain(){inta[6]={1,2,3,4,5,6};for(inti=0;i<5;i++)
C++语言中标点符号中表示一条预处理命令开始的是
在双链表中,每个节点有两个指针域,一个指向前驱节点,另一个指向【】。
下列运算符中,在C++语言中不能重载的是
在设计程序时,应采纳的原则之一是
概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。
随机试题
下列组织中属于国家行政机关的是()。
A,阵发性腹痛B,持续性腹痛C,两者都有D,两者都无胃十二指肠溃疡穿孔
患者,男,40岁,因大量蛋白尿,高度浮肿,因诊断为肾病综合征而入院治疗。肾穿活检病理为“微小病变型”,给予泼尼松60mg/d口服,症状有所控制。治疗3周后,又出现大量蛋白尿,双下肢浮肿加重,肾功能减退。此时首先应考虑为
下列具有受体酪氨酸蛋白激酶活性的是
后马托品丙胺太林
某水利枢纽工程由水闸、泵站、灌溉引水洞及堤防等建筑物组成。其中水闸共3孔,每孔净宽8m,采用平板钢闸门,闸门采用一台门式启闭机启闭。在施工过程中发生如下事件:事件一:为加强枢组工程施工质量与安全控制,施工单位设立安全生产管理机构,配备了专职安全生产管理
某公司是一家高新技术企业,目前正在进行股份制改造。公司高层决定以此为契机,对公司进行重新设计,并着力进行组织文化建设,以形成鼓励创新和民主参与的文化。为此,公司决定聘请某著名管理咨询公司帮助公司进行变革。双方商定,在组织结构设计中,应重点考虑公司战略、管理
下列有关我国税收执法权的表述中,正确的是()。
根据我国宪法的规定,下面不属于我国公民所享有的政治自由的是()。
汽车保险公司的统计数据显示:在所处理的汽车被盗索赔案中,安装自动防盗系统汽车的比例明显低于未安装此种系统的汽车。这说明,安装自动防盗系统能明显减少汽车被盗的风险。但警察局的统计数据却显示:在报案的被盗汽车中,安装自动防盗系统的比例高于未安装此种系统。这说明
最新回复
(
0
)