首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下: 从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。 其中定义的类并不完整,按要求完成下列操作
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下: 从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。 其中定义的类并不完整,按要求完成下列操作
admin
2016-10-28
38
问题
使用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全国计算机二级
相关试题推荐
下列for语句的循环次数为【】。For(nta=0,b=1;b&&a<5;a++);
Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【】的设计方法。
当使用带参数的操作子时,程序中必须包含头文件______。
在不同文件的函数中,对非静态全局变量的引用要加的关键字是()。
数据模型按不同应用层次分成3种类型,它们是概念数据模型、【】和物理数据模型。
下列关于函数模板实参不能省略的情况说明不正确的是
一个学生关系模式为(学号,姓名,班级号,…),其中学号为关键词:一个班级关系模式为(班级号,专业,教室,…),其中班级号为关键词:则学生关系模式中的外关键词为【】。
下列哪个是C++语言的有效标识符?
下面的哪个选项不能作为函数的返回类型?
随机试题
阅读下列案例材料,然后回答问题。上海某纺织品进出口公司向国外出口一批服装,支付方式为不可撤销的即期信用证,由国外某银行开立一份信用证。货物装运后,出口方向开证行提交单据要求付款。进口方在收到货物后,发现货物品质与合同要求不相符,因而要求开证行对信
甲、乙国有企业与另外7家国有企业拟联合组建设立“宏达航空货运有限责任公司”(以下简称宏达公司),公司章程的部分内容是:公司成立3年内股东缴足所有出资即可。公司股东会除召开定期会议外,还可以召开临时会议,临时会议须经代表1/4以上表决权的股东,1/2以上的董
采用综合的单位建筑面积或单位建筑体积等建筑工程概算指标计算整个工程费用,是()。
体现供应链的物料转换功能的供应链是()。
()是人际交往得以延续和发展的保证。
认为遗传对心理发展作用的大小依赖于环境的变化,而环境作用的发挥也受到遗传因素的制约。这种理论是()
中国的专利申请平均每年以48%的速度增长。中国的专利实施只占专利总量的20%~30%,与国外达80%的实施率相比,专利差距很大。在中国专利申报总量中只有15%来自于企业,而发达国家的专利申请80%来自于企业。这段话支持了这样一种观点,即(
古今中外人文精神内涵丰富,包罗万象,核心定义表现为对人的价值、尊严的______和维护,对人类精神文化遗存的______和传承,对理想人格的______和塑造。填入画横线部分最恰当的一项是:
【B1】【B18】
Accordingtothepassage,itisnotsurprisingthat______.Thedisagreementchild-centredadvocateshavewiththeeconomicaim
最新回复
(
0
)