首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,阅读下列程序说明和代码,功能如下: 从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,把数据打印到屏幕,并释放内存。 其中定义的类不完整,按要求完成
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,阅读下列程序说明和代码,功能如下: 从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,把数据打印到屏幕,并释放内存。 其中定义的类不完整,按要求完成
admin
2020-06-29
68
问题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,阅读下列程序说明和代码,功能如下:
从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,把数据打印到屏幕,并释放内存。
其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(1)在父结点的Next中保存新插入的结点的指针,请在注释1后添加适当的语句。
(2)把pNext的子结点赋给pNext本身,请在注释2后添加适当的语句。
(3)判定p的子结点不为空,如果不为空,则打印p中的数据到屏幕,请在注释3后添加适当的语句。
(4)用t1保存动态申请内存结点的链表头,请在注释4后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
试题程序:
#include
class TC
{
public:
TC(int data=0)
{
this->data=data;
this->next=NULL;
}
int data:
TC*next:
};
void Insert(TC*p,int data)
{
TC*temp=new TC(data);
TC*pParent=p;
TC*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(TC*p)
{
//* * * * * * * * 3 * * * * * * * *
while()
{
cout<
p=p->next;
}
cout<end1;
}
void Delete(TC*p)
{
//* * * * * * * * 4 * * * * * * * *
TC*t1=;
TC*t2;
while(t1! =NULL)
{
t2=t1->next;
delete t1;
t1=t2:
}
}
void main()
{
int i=0;
TC head;
do
{
int data;
cout<<"请输入一个数字:"<
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)将“TC*t1=;”补充完整为“TC*t1=p->next;”。
解析
本题第1处要求“在父结点的Next中保存新插入的结点的指针”。对于指针的操作,pParent->next为pParent的子结点,在父结点的Next中保存新插入的结点的指针,即“pParent->next=temp;”。
第2处要求“把pNext的子结点赋给pNext本身”。pNext->next为pNext的子结点,把pNext的子结点赋给pNext本身,即“pNext=pNext->next;”。注释3下是判定p的子结点不为空。p的子结点是p->next。程序中的“while()”缺乏p的子结点不为空的判断条件,所以修改为“while(p->next!=NULL)”。
第4处要求“用t1保存动态申请内存结点的链表头”。p为链表,p->next为链表头。程序中的语句“TC*t1=:”中t1沿有被赋值,所以修改为“TC*t1=p->next;”
转载请注明原文地址:https://www.kaotiyun.com/show/1byp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请补充完整程序fun(inti),使程序完成以下功能:如果i=5,则输出如下5行井号。###############注意:不要
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。完成函数ToUpper(char木des,char*str),该函数实现把str字符串中小写字符转换成大写字符,并存发在des中。例如:str=“aBc
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正错误,使得程序输出:Hellotest注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在∥********error***
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)定义CMyTime的私有成员函数myear、mmonth类型为int,请在注释∥********1*****
使用VC6打开考生文件夹下的源程序文件modil.cpp,咀该程序运行时有错,请改正程序中的错误,使程序输出的结果为:Numbe=8注意:错误的语句在∥********error********的下面,修改该语句即可。#includec
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。(1)定义私有数据成员name、street、city、
已知枚举类型声明语句为:enumCOLOR{WHITE,YELLOW,GREEN=8,RED,BLACK=15};则枚举常量RED的值为
下列关于函数原型声明的叙述中,正确的是
在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是
下列枚举类型的定义中,包含枚举值3的是
随机试题
常用于磨牙远中楔形瓣手术的缝合方法适用于两牙之间有较大缝隙或龈乳头较宽时,为使龈瓣能更好地贴合骨面所用的方法
A.咬合翼片 B.下颌后部咬合片 C.下颌横断咬合片 D.下颌骨后前位片 E.根尖片 下列病变应当选择的检查方法是:颌下腺导管阳性结石
关于巷道顶板事故的控制的说法,正确的有()。
某商贸企业本年度实现的产品销售收入1800万元,支付合理的工资薪金总额200万元(含残疾职工工资50万元),业务招待费80万元,职工福利费60万元,职工教育经费30万元,利润总额为200万元。已知该企业的所得税税率为25%。要求:根据以上资料,回答问题。
缺锌会导致婴幼儿()。
根据新知识与原有认知结构的关系,知识学习分为()
在一切监督力量中,党对公安工作的监督具有第一位的意义。()
关节尿酸炎是一种罕见的严重关节疾病,一种传统的观点认为,这种疾病曾于2500年前在古埃及流行,其根据是在所发现的那个时代的古埃及木乃伊中,有相当高的比例可以发现患有这种疾病的痕迹。但是,最近对于上述木乃伊骨骼的化学分析使科学家们推测,木乃伊所显示的关节损害
有如下程序:#include<iostream.h>usingnamespacestd;classDemo{public:Demo(){cout<<"defauttconstmctor\n
Thespeed______is340meterspersecond.
最新回复
(
0
)