2022年辽宁省锦州市全国计算机等级考试C++语言程序设计真题(含答案).docx
2022年辽宁省锦州市全国计算机等级考试C+语言程序设计真题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1.表达式10 > 5 &&6%3的值是A.-l B.非零值 2.有以下 程 序union unsigned int n;c;ul;ul.c ='A'endl;执行后输出结果是A.产生语法错B.随机值main() unsigned char cout < < ul.n < <3 .当输入“Thank you”时下列程序的输出结果为()。include <iostream.h > #include < iomanip.h > void main() char line80;cin.getline(line,sizeof(80), k) ; cout < < line ; A.Tha B.Thank you C.Thank D.以上结果都不对4 .对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()oA.并运算B.交运算C.差运算D.积运算5 .将以下程序写成三目运算表达式是()。if(x < y)min=x; else min=y;A.min=(x > y)?x:yclass Apublic :static int x ;A(inty)cout < < x+y ; );int A : x=2 ; void main()A a(5); )四、程序改错题(10题)36 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序 运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即 可。试题程序:#include(iostream. h)classTC(inti;public:TC;voiddisplay;TC;error*1*1 *1 *!< L«<J> rj*TC:TCcout«nConstructorn«n, n ;i=0;*1 *1y*error*1 *1 «!«*<J*TC: display(tout<<ni=n«i«n, n«endl;*1* *J> *1> *1> *1> *1*y*rj* *y*error*1* *X* *1> *4* *1* *1*<y*TC:TCCOUI«nDestructorn«endl :) voidmain(TCa;a. display; )该程序37 .使用VC+6. 0打开考生文件夹下的源程序文件L cpp, 运行时有错。请改正程序中的错误,使程序输出的结果为1003732注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include<iostream . h>k1>k!> 7,k1>k!>k!> 7,7,1*不不小小不不error不不不不小不voidmainsix不不不不不不enor不不不不不不intm=0142:intn=0X27 :intq=32;cout <<m<<endl;cout< <n< <endl;cout< <q< <endl;return;38 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include<iostream. h> voidmain inti=O;charstr120;cout«nEnterastringendwith?n«endl;*1* *1*1* *J> *X* *JU *J>k!>不不不不不不不不enor不不不不不不不不cin. getline(str, 120);while(str)vt* vt#<.1*不不不不不不不不error不不不不不个小小stri=stri-a+A;i+ + ;cout«str«endl ;return ;39 .使用VC + +6 .0打开考生文件夹下的源程序文件1.cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number=l number=10number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。试题程序:#include<iostream . h>classTC (public :TC(inti) (number=i ;)voidSetNumber(intm)(number=m ;)intGetNumberconst(returnnumber ;)voidPrintconst (cout«nnumber= H«number«endl ;)private :intnumber ;);voidmain*1* *1* *1* T> r*errorTCobjl ;objl . Print ;TCobj2(3);vl*vl> vL»不*r*个个个.、个个nor个个个不不小个个objl . number= 10 ;I !* enor* * *TC . SetNumber(lOO);objl . Print ;obj2 . Print ; 40 .使用VC+ +6 .。打开考生文件夹下的源程序文件1 . cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现 的功能为从键盘输入一个字符串,并将结果保存到文件1 . txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* eiror * * * * * * 的下面。试题程序:#include<iostream>#include<fstream>vt* vt*个不个不不.»、个不nor个个个个不个个个usingstd ;voidWriteFile(chars) (ofstreamout 1 ;* error* * * * * * * *outl . open(Hl .txt", binary|app);for(inti=0 ; si!=0 ; i + +)* enor* *outl.puts(si);outl.close ;voidClearFile ofstreamout 1 ;outl . open(ul . txt");outl . close ; intmain(chars 1024;ClearFile ;cout«npleaseinputastrin9 :H«endl ;cin . getline(s, 1024);WriteFile(s);returnO ; )41 .使用VC + + 6 .0打开考生文件夹下的源程序文件1 .cpp。本程序要 求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕 中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *enor*的下面。试题程序:#include<iostream . h> voidmain(inti=O ;charstr120;cout«HEnterastringendwith? . n«endl ; /vt* vt*vt* vt# kL# vt* kL* kJ* vt*/不不不不不不不不error不不不下不平不不cin . getline(str, 120);/7" 7,/不不不不不不不不error不个个不不干不小while(str) (/7,7" 7,7 7,7" 7”/不不不不不不不不error不不不不不不不不if(stri)=a)stri=stri-a + A ;i + + ;) cout«str«endl ;return ;42 .使用VC+6.。打开考生文件夹下的源程序文件1.cpp,该程序 运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error0 ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include<iostream h) intmain throw(Herrorn);catch(chars) cout«s«endl;) try throw(int)0);7, 个个个个个个个个rror不不不"个个不不catch cout«i«endl;) try(throw(O);throw(nerrorn);个个不不不不不个errore个个个个个个个个catch(cout«n ERRORn «endl ;)returnO ;)43 .使用VC + +6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream . h)classTC (inti ;public :TC ;B.min=(x < y)?x:yC.min=(x < y)x:yD.min=(x < y)?x,y6 .要实现多态性,派生类中的虚函数必须()。A.函数名、参数及返回值必须与基类中对应的虚函数完全相同B.参数个数不必与基类中对应的虚函数的函数名完全相同C.参数类型不必与基类中对应的虚函数的函数名完全相同D.返回值类型不必与基类中对应的虚函数的函数名完全相同7 .下面表示纯虚函数的成员函数是()。A.virtual int v(int);8 .void v(int) =0;C.virtual void v() =0;D.virtual void v(int) 8 .下列叙述中正确的是()0A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对9 .假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句 为()voiddisplay ;TC ;;I i *eiror*TC : TC( cout«nConstructor << 'i=0 ;)I i *error*TC : display( tout«"i="«i<<", "«endl ;I i *error*TC : TC(COUI<<"Destructor"«endl . voidmain(TCa ;a - display ;44.使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实 现的功能为从键盘输入一个字符串,并将结果保存到文件1. txt中。 注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试题程序:#include<iostream>#include<fstream>/ / *eiror*usingstd;voidWriteFile(char*s) (ofstreamout 1 ;/ / *error*°utl. open(nl. txtn, binary|app);for(inti=0; si!=0; i+) (/ / *eiror*outl. puts(si);)outl. close;)voidClearFile(ofstreamout 1 ;outl. open(Hl. txt'');outl. close;) intmain (chars 1024;ClearFile;cout«npleaseinputastrin9 :n«endl;cin. getline(s, 1024);WriteFile(s);returnO ; )45 .使用VC+ +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5 sizeof(s2)=10sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。不能删除assert ()语句。只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#include<iostream . h> #include<assert . h>voidmain ()chartsl=nabcn:,r7> 4、,R «、error*1 *1T> T> "、彳、j、<T> 、/、assert(sizeof(sl )=3): cout«nsizeof(sl)=5n«endl ;chars210=nabn:k1> kJ> 7,s.t> 7" 1* 1>kI> 7, 个个个不不不个个nor个个个个个个个个assert(sizeof(s2)=2);cout«nsizeof(s2)=10n«endl ;chars3=23 : assert(sizeof(s3)=4);sl> si*、rl> *r>errorcout«nsizeof(s3)=ln«endl ;return ; )五、综合应用题(2题)46 .使用VC+6. 0打开考生文件夹下的源程序文件3. cpp,其中定 义了类BA、PA1和PA2,其中PA1类由BA类公有派生,PA2类由 PA1类公有派生。上述3个类的定义并不完整,请按要求完成下列操 作,将程序补充完整。程序输出结果如下:1051057定义类BA的构造函数,该构造函数有一个整型的参数m,在构造 函数中将m赋值给数据成员a。请在注释1之后添加适当的语句。定义类PA1的构造函数,该构造函数有两个整型的参数m和n,在 构造函数中将m赋值给数据成员b,将n作为基类BA构造函数的参 数值传人。请在注释2之后添加适当的语句。(3)定义类PA2的构造函数,该构造函数有3个整型的参数m、n和 k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类 PA1构造函数的参数m和no请在注释3之后添加适当的语句。(4)完成类PA2的成员函数show的定义,该函数调用基类成员函数, 输出基类私有成员a、b及类PA2自身的数据成员C的值,上述3个 值在输出时用空格隔开。请在注释4之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 试题程序:#include(iostream. h>classBA(inta;public:intgetareturna; ;classPAl: publicBAintb;public:/*J> *JU<l* *i> *j>/«、 J rj>intgetb returnb ; );classPA2 : publicPAl (intC;public:/ vt> 7 7*vt> k!>k!> vt>/r7> 彳、"、<J、rj、"、<T*、voidshowI I *4*;voidmain(PA2a(7, 5, 10);cout«a . geta«endl ;cout«a . getb«endl ;a. show; )47 .使用VC+6.。打开考生文件夹下的源程序文件3. cpp。其中定 义的类不完整,按要求完成下列操作,将类的定义补充完整。定义类的公有数据成员函数NO、Name32,其中NO是血型的数据,Name32为字符型。请在注释1后添加适当的语句。(2)完成函数Set的定义,分别设置NO和Name的值,请在注释2后添 加适当的语句。完成函数print,请在注释3后添加适当的语句,输出结果如下:N0=12345Name=HelloWorld!(4)添加默认构造函数,设置NO为0, Name为空,请在注释4后添加 适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。试题程序:#include<iostream. h>classTC (public:/1kI* kL*/I rj* rr*rj* rT* rTw/7" 7" 7" 7"/", rj、 Jrj. q.(No=no;for(inti=0; strNamei!=O; i+ +)Namei=strNamei;Namei+1=0;)voidprint ()/*1* *1* *1* *1*kL* kL*1* *1* *1> k1* *1* *1* *1* *J>/*J* rT* *T*y* <T*rT* *yw *Y* *T* »T* ry* *y»)TC ()/ I *4*);intmain ()(TCstu:stu. Set( 12345, !,HelloWorld!n); stu. print ();returnO ;六、3.综合应用题(2题)48 .使用VC6打开考生文件夹下的工程test32_30此工程包含一个 test32_3.cpp,其中定义了复数类complex,但该类的定义并不完整。请 按要求完成下列操作,将程序补充完整。定义复数类complex的私有数据成员real和image,用来分别表示复 数的实部和虚部,它们都是double型的数据。请在注释“*1*”之后添 加适当的语句。添加复数类complex的带一个参数的构造函数,分别将real和image 赋值为参数r的值和0。请在注释“*2*”之后添加适当的语句。完成复数类complex的“+”运算符重载成员函数的定义,两个复数相 加是将复数的实部和虚部分别进行相加,请在注释“*3*”之后添加适 当的语句。(4)完成复数类 complex 的友元函数 isequal(complex *cl,complex *c2)的 定义,如果复数C1与c2相等即cl与c2的实部和虚部分别相等,贝IJ返 回1,否则返回0。请在注释“*4*”之后添加适当的语句。程序输出结果如下:36+0i=36+0i注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test32_3.cpp清单如下:#include < iostream.h >class complex(public:complex() real=image=O.O;complex(double r)(* 2 *complex operator+(const complex &c);friend bool isequal(complex cl,complex *c2 void displayO;);complex complex:operator+(const complex &c)(* 3 *temp. real=real+c. real;temp.image=image+c.image;return temp;bool isequal(complex *cl,complex *c2) (/ /* 4 *return 1;elsereturn 0;)void complex: display() (cout < < real;if (image > =0) cout < << < image < < nin;else if (image < 0) cout < < image < < Hin; )void main() (complex cl,c2(36.0);cl=cl+c2;cl.displayO;if (isequal(&cl,&c2) cout < <else coat < < n < > n;c2.display();cout < < end 1; )49.使用VC6打开考生文件夹下的工程test34_30此工程包含一个 test34_3.cpp,其中定义了表示栈的类stack。源程序中stack类的定义并 不完整,请按要求完成下列操作,将程序补充完整。定义类stack的私有数据成员sp和size,它们分别为整型的指针和变 量,其中sP指向存放栈的数据元素的数组,size为栈中存放最后一个元 素的下标值。请在注释“*1*”之后添加适当的语句。完成类stack的构造函数,该函数首先从动态存储空间分配含有100A.MyClass&(MyClass x); B .MyClass(MyClass x) C.MyClass(MyClass &x); D.MyClass(MyClass *x)10 .下列关于E-R图的描述中正确的是()。A.E-R图只能表示实体之间的联系B.E-R图只能表示实体和实体之间的联系C.E-R图只能表示实体和属性D.E-R图能表示实体、属性和实体之间的联系二、单选题(13题)11 .在单链表中,增加头结点的目的是oA.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结 点的位置D.说明单链表是线性表的链式存储实现12 .假定MyClass为一个类,那么下列的函数说明中,()为该类的 析构函数。A.void MyClass();B.MyClass(int n);C.MyClass();D.MyClass();13.有下列二叉树,对此二叉树前序遍历的结果为 个元素的血型数组,并把该数组的首元素地址赋给指针sp,然后将该 数组的所有元素赋值为0,并将size赋值为-l(size等于-1表示栈为空)。 请在注释“*2* ”之后添加适当的语句。(3)完成类stack的成员函数push的定义。该函数将传入的整型参数x压 入栈中,即在size小于数组的最大下标情况下,size自加1,再给x赋 值。请在注释“*3*”之后添加适当的语句。(4)完成类stack的成员函数pop的定义,该函数返回栈顶元素的值,即 在size不等于-1的情况下,返回数组中下标为size的元素的值,并将 size减10请在注释“*4*”之后添加适当的语句。程序输出结果如下:the top elem : 1the pop elem : 1the stack is empty注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test34_3.cpp清单如下:#include < iostream.h >class stack(* *public:stack ();bool empty()return size="l;bool full() return size=99;void push(int x);void pop();void top();stack: :stack()* 2 *for(int i=0; i < 100; i+) *(sp+i)=0;size=-l;)void stack: :push(int x)* 3 * cout < < nthe stack is full” < < endl;else(size+;*(sp+size) = x;)void stack: :pop()(* 4 *cout < < "the stack is emptyn < < endl;else (cout < < nthe pop elem:n < < *(sp+size) < < endl;size;)void stack:top()(if iempty()cout < < "the stack is emptyn < < endl;else (cout < < nthe top elem:n < < *(sp+size) < < endl;)void main ()(stack s;s.push(l);s.top();s.popO;s.topO ; )参考答案1 .c解析 逻辑与运算符为真的前提是两边的表达式都为真,本题中6%3 的值为0,显然该表达式的值应该为0。注意:/是整除运算符,当两个 操作数都为整数时,结果为整型,将小数部分舍去。2 .B解析:本题考查联合这种特殊的数据结构的基本知识。联合的本质 在于联合的成员共事同一片连续的内存单元。本题中由于整型变量占两 个字节,字符型变量占一个字节,而整型变量的一部分没有被赋值,故 将输出随机值。本题答案为B。3 .A4 .AA)【解析】关系的并运算是指由结构相同的两个关系合并,形成一个 新的关系,新关系中包含两个关系中的所有元组。5.B6 .A解析屈数名、参数及返回值必须与基类中对应的虚函数完全相同。7 .C解析:纯虚函数的声明格式:virtual函数返回类型 函数名 ( 参数表 )=0 ;8 .DDo【解析】算法的时间复杂度和算法的空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系。9 .C解析:拷贝构造函数是一个特殊的构造函数,它用一个已知的对象 初始化一个正在创建的同类对象,它的一般格式是:类名:类名(const类 名&引用对象名)。10 .D解析:E-R(实体一联系,Entity-Relationship)图是设计概念模型的有 力工具。在E-R图中,用三种图框分别表示实体,属性和实体之间的联 系:用矩形框表示实体,框内标明实体名;用椭圆状框表示实体的属性,框内标明属性名;用菱形框表示实体问的联系,框内标明联系名;实体与其属性之间以无向边连接,菱形框与相关实体之间也用无向边 连接,并在无向边旁标明联系的类型。因此,用E-R图不仅可以简单明了地描述实体及其相互之间的联系,还 可以方便地描述多个实体集之间的联系和一个实体集内部实体之间的 联系。由此可知,选项A、B、C二个选项中的既法都是不对的。H.AnA0【解析】头结点不仅标识了表中首结点的位置,而且根据单链 表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此 增加头结点的目的是为了便于运算的实现。n12 .D解析:本题考核类的析构函数。在C+中,析构函数名为符号“ 加类名,析构函数没有参数和返回值。根据以上知识可知,MyClass类 的正确析构函数的说明为 MyClass()。13 .B解析对二叉树的前序遍历是指:先访问根结点,然后访问左子树, 最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次 访问其左,右子树。14 .D解析:本题考查的是引用调用,因为函数swap弓I用调用参数a, 所以在swap函数中a的变化会改变主函数中9的值,即a自力口1,但b 的值并未改变。15 .D本题考查的是引用调用,因为函数swapOl用调用参数a,所以在swap 函数中a的变化会改变主函数中a的值,即a自加1,但b的值并未改 变。16.B栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶 进行操作。17 .C所谓函数重载是指同一个函数名可以对应着多个函数的实现。每种实 现对应着一个函数体,这些函数的名字相同,但是函数参数的类型不 同,还允许参数的个数不同,但不能只有函数的返回值类型不同而参 数的个数和类型相同的重载。所以本题答案为c。18 .DDo【解析】在程序中,fun(k, 5)的功能是将数组k的k0、kl分别 与k3、k4交换,for循环从k到k8输出,所以输出结果为 321678o19.A算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能 在执行有限个步骤之后终止。20 .D需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求 规格说明书、需求评审四个方面。所以选择D。21 .A选项A中i自减到1时就会执行break语句跳出循环,选项B中i<10 永远成立不会跳出循环.选项c中第一次进入循环体后i>0永远不会 跳出循环,选项D中未给出结束循环的条件。22 .DD【解析】根据二叉树的基本性质3 :在任意一棵二叉树中,多为0 的叶子结点总比度为2的结点多一个,所以本题中度为2的结点为1- 1=0个,所以可以知道本题目中的二又树的每一个结点都有一个分支, 所以共7个结点共7层,即度为7。23 .D多对多联系:多对多的联系表现为一个表中的多个记录在相关表中同 样有多个记录与其匹配。一个教师可讲授多门课程,一门课程可由多个教师讲授,所以实体教 师和课程间的联系是多对多的联系。24 .friend complex& operator(complex&)friend complex& operator (complex&)解析:本题考核运算符重载的定义。程序要填入的是运算符 函数operator-在类complex中的声明,运算符“-”是作为友元函数重 载的。根据题目给出的条件,易得到答案。25 .newnew解析:与C语言不同,C+提倡使用new操作符来动态创建对象。7, 3.4。解析:函数的功能是求出数组中指定范围的元素中 的最大值。所以在a数组中前四个数据中最大值为7,数组b中前3个 元素中最大值为3.4。1.1 i*m+ji*m+j解析:二维数组b有m列,说明二维数组b每行中有m 个元素,所以在之前的元素为i*m+j。28 .运行时的多态性运行时的多态性29 .功能模型功能模型解析:本题属于记忆题,考生应掌握。30 .继承继承 解析:类是面向对象语言中必备的程序语言结构,用来实 现抽象数据类型。类与类之间的继承关系实现了类之间的共享属性和操 作,一个类可以在另一个已定义的类的基础上定义,这样使该类型继承 了其超类的属性和方法,当然,也可以定义自己的属性和方法。31 .构造函数构造函数32 .需求分析阶段需求分析阶段33.00解析:冒泡排序算法在最好的情况下(已经有序的)元素交换次数 为0。34.sum=20sum=20解析:本题考察静态数据成员在同类的不同对象间的 数据传递功能。Sum为所有对象的公共数据,M对象和N对象分别对 sum进行累加,故结果为20。35.77解析:程序的静态变量初始化为2,而构造函数招待过程中y变 量为初始化为5,故程序执行的结果为7。36.(1)应改为“TC:TC”。应改为“voidTC:display”。(3)应改为“TC:TC”。【解析】在类的外部定义成员函数时,必须在成员函数前面加上类名 和作用域运算符“:”,作用域运算符用采表示某个成员属于哪个 类,使用格式为“(类名):成员函数(参数函数),因此第1处应改 为“TC:TC”,默认构造函数没有参数。由第2处“TC:display”后 的语句看,这是在类外实现TC函数,因此也有作用域运算符使用错 误问题,display函数返回值为void,因此第2处的语句应改为 “voidTC:display”。由第3处的语句“TC:TC”可知,显然这里是 在类外实现析构函数,析构函数是一个特殊的函数,它的名称和类名 相同,并在前面加“”字符,用采与构造函数加以区别,因此第3处 的语句应改为“TC:TC”。3 7. (l)“voidmairT。(2)“intm=0144;(3)“intn=OX25;”或"intn=0x25 ;【解析】本题主要考查了主函数定义及幕同进制之间的转换,包括十 进制到八进制,十进制到十六进制。主函数定义的定义形式为“main”,函数名之后必须是一对括号,因此第1处应改为“voidmain”。cout输出默认是以十进制方式输出的,根据题目要求输出的结果可发现变量的初值不正确,十进制的100对应八进制的144,卡进制的37 对应十六进制的25,因此2和3应分别改成“intm=0144;”,uintn=0x25;”或“intn=0><25;38 .(1)应改为“ein. getline(str, 120, ?);应改为“while(st巾)”。(3)应改为“if(stri>=a & & striv=2)”。【解析】本题中要求以输入字符“?”为结束符,用于字符输入的流成员 函数getline函数读入一行字符,格式为“cin. getline(字符数组,字符 个数,终止标志字符广,所以第1处改为“cin. getline(str,120, ?); 第2处的“w