首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入0时结束。然后顺序输
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入0时结束。然后顺序输
admin
2019-05-22
49
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入0时结束。然后顺序输出链表上各表元的整数值。主函数每读入一个整数,就调用函数fun(),函数fun()将还未出现在链表上的整数按从大到小的顺序插入到链表中。为了插入方便,链表在表首有一个辅助表元。
注意:不能修改程序的其他部分,只能修改fun()函数。
1 #include
2 C1aSs NODE
3 {
4 public:
5 int data ;
6 NODE*next;
7 };
8 void fun(NODE*liSt,int X)
9 {
10
11 }
12 void main()
13 {
14 int X;
15 NODE*head,*p;
16 /*首先建立只有辅助表元的空链表*/
17 head=new NODE ;
18 head->next=NULL;
19 std::cout<<"Enter integers,
end with 0"<
20 while(1)
21 {
22 std::cin>>x;
23 if(x==0)
24 break;
25 fun(head,X);
26 }
27 for(p=head一>next ; p!=NULL;
p=p->next)
28 std::cout<
data<<’ ’;
29 std::cout<
30 do{
31 p=head一>next;
32 delete head;
33 head=p ;
34 )while(p);
35 }
选项
答案
1 NODE*u,*V,*p ; 2 u=list; 3 V=u->next ; 4 while(v!=NULL&&x
data) //寻找插入的位置 5 { 6 u=v; v=v->next ; 7 } 8 if(v==NULI||x>v一>data) //判断是否为新的元素 9 { 10 p=new NODE; 11 p->da七a=x; //生成新的元素 12 p->next=V; 13 u->next=p; //插入新的元素 14 }
解析
(1)该程序功能是构造一个以大到小顺序链接的链表。它的解题思路,首先寻找插入的位置,然后判断是否为新元素,最后插入。
(2)从已给部分源程序的main主函数开始入手,核心函数void fun(ODE*list,int x)中的:list参数为单链表,x为要插入的数据。
[解题思路]
(1)首先利用while循环寻找插入元素的位置。
(2)然后判断要插入的元素是否为新元素。
(3)如果为新元素,那么执行单链表的操作,插入元素。
转载请注明原文地址:https://kaotiyun.com/show/LB8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 C此题考查的是函数重载的概念。在C语言中,允许定义一系列函数名相同,但形参的个数和类型不完全相同的函数,即函数的重载。重载函数对返回值类型不做要求,返回值类型也不参与区分函数的重载形式
构造函数构造函数的主要作用是对数据成员初始化,系统为成员分配内存时,保留这些存储单元的原状。
A、 B、 C、 D、 A本段程序实现从键盘接收一段字符串,并计算字符串的长度,cin输入流对象会将空白符、回车符、tab键作为终止标志,所以输入Ahcdefgabcd得到的字符串长度为7。
A、 B、 C、 D、 B只有在创建对象时才会调用类的构造函数,在定义指针时不会调用构造函数,本程序共生成了3个同类对象a,b[2]。
A、 B、 C、 D、 C采用intA[]={3,4,9,8}定义数组A,则A中只有4个元素,而题干要求的是7个元素,A[4]、A[5]、A[6]3个元素就不存在。
4传值是默认的参数传递方式。如果调用函数时,须要改变实参或者返回多个值,就应该采用传地址方式。传递指针属于显式的传地址方式,传递引用属于隐式的传地址方式。本题采用的是传递引用,所以实参被改变。
白箱法白箱测试是根据程序内部逻辑结构的分析来选取测试用例。由于测试用例对程序的逻辑覆盖程序决定了测试的完全性的程度,因此白箱测试也称为逻辑覆盖测试。
类中的一个字符指针成员指向具有m个字节的存储空间时,它所能存储的字符串的最大长度为()。A)m-2B)m-1C)mD)m+1
已知类Ben中将二元运算符“/”,重载为友元函数,若c1、c2是Ben的两个对象当使用运算符函数进行显式调用时,与表达式c1/c2等价的表示为______。
有如下两个类声明classAA{public:intm;};classBB:protectedAA{intn;};在类BB中,数据成员m的访问属性是_____,数据成员n
随机试题
MOVC,00H指令中源操作数的寻址方式是()
下列关于心肺脑复苏的叙述,正确的是()
男,25岁,2年来有发作性神志丧失,四肢抽搐,服药不规则,今日凌晨开始,又有发作,意识一直不清醒,来院后又有一次四肢抽搐发作。病人目前情况属于下列哪一种
普萘洛尔治疗心绞痛时可产生下列哪一作用
根据《仲裁法》的规定,以下关于仲裁制度的表述,正确的是()。
A公司经过甲介绍成功地向B公司销售了一批货物。下列属于不正当竞争行为的是()。
函数f(x)=展开成x的幂级数为___________.
求
以下关于嵌入式处理器的说法错误的是()。
Ifyou’vekeptupwiththenewslately,you’veprobablyhearddirewarningsaboutavianflu,orbirdflu.It’sahighlyinfectio
最新回复
(
0
)