首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下: 从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。 其中定义的类并不完整,按
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下: 从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。 其中定义的类并不完整,按
admin
2015-05-30
21
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下:
从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。
其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)在父节点的Next中保存新插入的节点的指针,请在注释//********1********后添加适当的语句。
(2)把pNext的子节点赋给pNext本身,请在注释//********2********后添加适当的语句。
(3)判定P的予节点不为空,如果不为空,则打印P其中的数据到屏幕,请在注释//********3********后添加适当的语句。
(4)用templ保存动态申请内存节点的链表头,请在注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
1 #include
2 Class TestClass
3 {
4 public:
5 TestClass(int data=0)
6 {
7 this->data=data;
8 thiS->next=NULL;
9 };
10 int data;
11 TestClass*next;
12 };
13 void Insert(TestClass* p,int data)
14 {
15 TestClass*temp=new TestClass(data);
16 TestClass* parent=p ;
17 TestClass* pNext=p->next ;
18 while(pNext)
19 {
20 if(data>pNext->data)
21 {
22 //********1********
23
24 temp->next=pNext;
25 return;
26 }
27 Else
28 {
29 pParent=pNext;
30 //********2********
31
32 }
33 }
34 if(pNext==NULL)
35 {
36 pParent->next=temp;
37 return;
38 }
39 }
40 void printf(TestClass* p)
41 {
42 //********3********
43 while()
44 {
45 cout<
next->data<<"";
46 p=p一>next ;
47 }
48 cout<
49 }
50 void Delete(TestClass* p)
51 {
52 //********4********
53 TestClass*templ=;
54 TestClass*temp2;
55 while(templ!=NULL)
56 i
57 temp2=templ一>next;
58 delete templ,
59 templ=temp2;
60 }
61 }
62 void main()
63 {
64 int i=0 ;
65 TestClass head;
66 do
67 {
68 int data;
69 cout<<"请输入一个数字:"<
70 cin>>data ;
j71 if(data==0)break ;
72 Insert(&head,data);
73 }while(1);
74 printf(&head);
75 Delete(&head);
76 return;
77 }
选项
答案
(1)添加语句:pParent一>next=temp ; (2)添加语句:pNext=pNext一>next; (3)将“while()”补充完整为:while(p->next!=NULL) (4)将“TestClass*templ=;”补充完整为:TestClass * templ=p->next;
解析
在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的main主函数开始入手,可以看出程序通过调用类TestClass实现各种输出操作。
[解题思路]
(1)题目1要求“在父节点的Next中保存新插入的节点的指针”。对于指针的操作pParent->next为pParent的子结点,在父节点的Next中保存新插入的节点的指针,即“pParent->next=temp;”。
(2)题目2要求“把pNext的子节点赋给pNext本身”。pNext->next为pNext的子结点,把pNext的子节点赋给pNext本身,即“pNext=pNext->next;”。
(3)注释//********3********下是判定P的子节点不为空。P的子节点是p->next。程序中的“while()”缺乏P的子节点不为空的判断条件,所以修改为“while(p->next!=NULL)”。
(4)题目4要求“用templ保存动态申请内存节点的链表头”。P为链表,p->next为链表头。程序中的语句“TestClass*templ=;”中templ没有被赋值,所以修改为“TestClass*templ=p->next;”。
转载请注明原文地址:https://kaotiyun.com/show/jPNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序段的输出结果是______。intX=20,y=20;cout<<x--<<","<<--y;
下列函数原型声明中错误的是()。
阅读以下程序,此程序的功能是【】。#include<iostream.h>voidmain(){intn,i,j;for(i=100;i<999;i+100)for(j
有如下程序:#inchde<iostream.h>voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={23,42);fun(a[1
下列选项中不属于结构化程序设计方法的是()。
若类A和类B的定义如下:classA{public:inti,j;voidget();};classB:A{inti,j;protec
下列程序的输出结果是______。#include<iostream.h>voidmain(){inta[]={1,2,3,4,5,6},*p,**q;p=a;q=&p;
数据库管理系统DBMS中用来定义模式、内模式和外模式的语言是______。
关于抽象类,下列表述正确的是()。
下面有关重载函数的描述中正确的是
随机试题
轮式沟通网络有()个成员是各种信息的汇集点与传递中心。
设D是由曲线y=1-ax2,y=-X2(x≥0,a>0)与y轴所围成的平面图形问a为何值时,V(a)取最大值?并求此时D的面积
《素问.五藏生成篇》说:“多食辛”,则()
下列各项可以减少工程项目计划变更几率的是()
甲公司目前想对A公司进行价值评估,A公司2012年的有关资料如下:(1)销售收入1000万元,销售成本率为60%,销售、管理费用占销售收入的15%,折旧与摊销占销售收入的5%,债权投资收益为20万元,股权投资收益为10万元(估计不具有可持续性)。资产减值
下列情形中会导致注册会计师利用专家工作时的审计范围受到限制的有()。
零售商业物业的现场管理是否成功,有多方面的影响因素。其中()是三个主要的方面。
科学研究表明,评判性的阅读是一个要求很高且需要付出相当大耐性的阅读过程。在进行审慎评判的过程中,阅读者需要放缓阅读速度,并用手中的笔随时在文章中标记出需要注意的各项重点,从而使阅读内容很好地结合阅读者的读后感想以及相关结论和疑问。因而在这一过程中,阅读者需
文化如同一种生物,它同样具有遗传与变异两种倾向。文化一旦产生,它就会不断_______自己的“基因”,规定后来文化的大体_______,这就是文化的遗传。同时,由于一切皆以时间条件的变化为转移,一种_______文化不可能总是适应不断变化了的社会现实,它对
根据所给材料,回答下列问题。据说在英国人那里也出现了英语[a]的问题,或者说,英语圈内也发生了非规范化向规范化的冲击。真是“吾道不孤”——人们多以为现代汉语非规范化现象太使人生气,原来“天下乌鸦一般黑”,这[b]的恶魔到处在横行霸道。这
最新回复
(
0
)