西安石油大学《面向对象程序设计》功能与改错Word文档下载推荐.docx

上传人:b****6 文档编号:20186176 上传时间:2023-01-17 格式:DOCX 页数:19 大小:23.60KB
下载 相关 举报
西安石油大学《面向对象程序设计》功能与改错Word文档下载推荐.docx_第1页
第1页 / 共19页
西安石油大学《面向对象程序设计》功能与改错Word文档下载推荐.docx_第2页
第2页 / 共19页
西安石油大学《面向对象程序设计》功能与改错Word文档下载推荐.docx_第3页
第3页 / 共19页
西安石油大学《面向对象程序设计》功能与改错Word文档下载推荐.docx_第4页
第4页 / 共19页
西安石油大学《面向对象程序设计》功能与改错Word文档下载推荐.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

西安石油大学《面向对象程序设计》功能与改错Word文档下载推荐.docx

《西安石油大学《面向对象程序设计》功能与改错Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《西安石油大学《面向对象程序设计》功能与改错Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。

西安石油大学《面向对象程序设计》功能与改错Word文档下载推荐.docx

exit

(1);

elsereturna/b;

default:

coutoperatorerror!

6.#include#includevoidmain()intx,y;

cinx;

y=int(sqrt(x);

/sqrt(x)为求x的算术平方根for(inti=1;

i=y;

i+)if(x%i=0)cout”x=”i*x/iendl;

7.#includevoidmain()inti,p=1,s=0;

intN;

coutN;

for(i=1;

i=N;

i+)p*=i;

s+=p;

coutsendl;

8.#include#include#includeconstN=10;

intff(intx,inty)intz;

coutx+yz;

if(x+y=z)return1;

elsereturn0;

voidmain()inta,b,c=0;

srand(time(0);

/初始化随机数序列for(inti=0;

iN;

i+)a=rand()%20+1;

/rand()函数产生0-32767之间的一个随机数b=rand()%20+1;

c+=ff(a,b);

cout得分:

c*10endl;

9.ints1(intn)intx;

if(n=1)x=1;

elsex=s1(n-1)+n*n;

returnx;

10.voidfun5(char*a,constchar*b)while(*b)*a+=*b+;

*a=0;

11.templateboolfun8(Ta,intn,Tkey)for(inti=0;

in;

i+)if(ai=key)returntrue;

returnfalse;

12.voidf2(doublea,intn)inti;

doublesum=0;

for(i=0;

i+)sum+=ai;

sum/=n;

i=sum)coutai;

13.voidf4(charaMN)intc1,c2,c3;

c1=c2=c3=0;

for(inti=0;

iM;

i+)if(strlen(ai)=5&

strlen(ai)15)c2+;

elsec3+;

coutc1c2c3endl;

14.voidfun3(intaN,intm,int&

row,int&

col)intx=a00;

row=col=0;

im;

i+)for(intj=0;

jx)x=aij;

row=i;

col=j;

15.intfun6(intm,intn,intb=2)if(mb&

nstr2i)return1;

elsereturn-1;

if(str1i=str2i)return0;

elseif(str1istr2i)return1;

18.IntNode*FindMax(IntNode*f)if(!

f)returnNULL;

IntNode*p=f;

f=f-next;

while(f)if(f-datap-data)p=f;

returnp;

假定IntNode的类型定义为:

structIntNodeintdata;

/结点值域IntNode*next;

/结点指针域;

19.intCount(IntNode*f)if(!

f)return0;

intc=0;

while(f)c+;

returnc;

20.voidOutput(IntNode*f)if(!

f)return;

while(f)coutdatanext;

21.voidInput(IntNode*&

f)intn;

coutn;

while(n0);

if(n=0)f=NULL;

return;

f=newIntNode;

cout”从键盘输入”nnext=newIntNode;

cinp-data;

p-next=NULL;

p=f;

deletep;

22.intf(constchar*s)inti=0;

while(*s+)i+;

returni;

23.char*f(char*s)intn=strlen(s);

char*r=newcharn+1;

i=a&

sidata=x;

/3行p-next=NULL;

/4行if(list=NULL)returnp;

/5行NODE*p1=list;

/6行while(p1-next!

=NULL)p1=p1-next;

/7行p1=p;

/8行returnlist;

错误行的行号为_和_。

分别改正为_和_。

2.在下面的定义中,NODE是链表结点的结构,addToList则是一函数,其功能是:

将一个值为x的新结点添加到以plist为表头指针的链表的首部(即第一个结点的前面)并返回表头指针。

函数中有两处错误,指出错误所在行的行号并提出改正意见。

structNODEintdata;

NODE*next;

NODE*adndToList(NODE*plist,intx)/1行NODE*p;

/2行*p=newNODE;

/3行p-data=x;

/4行p-next=NULL;

/5行plist=p;

/6行returnp;

/7行错误行的行号为_和_。

3.假定要求下面程序的输出结果为“11/15”,其主函数中存在着三行语句错误,请指出错误语句行的行号并改正错误行。

#includeclassFranction/定义分数类intnume;

/定义分子intdeno;

/定义分母public:

/把*this化简为最简分数,具体定义在另外文件中实现voidFranSimp();

/返回两个分数*this和x之和,具体定义在另外文件中实现FranctionFranAdd(constFranction&

x);

/置分数的分子和分母分别0和1voidInitFranction()nume=0;

deno=1;

/置分数的分子和分母分别n和dvoidInitFranction(intn,intd)nume=n;

deno=d;

/输出一个分数voidFranOutput()coutnume/denoendl;

voidmain()/1行/2行Franctiona,b,c;

/3行a.InitFranction(6,15);

/4行b.InitFranction

(1);

/5行c.InitFranction();

/6行c=FranAdd(a,b);

/7行coutc.nume/c.denoendl;

/8行/9行错误行的行号为_、_和_。

分别改正为_、_和_。

4.假定要求下面程序的输出结果为“23/20”,其主函数中存在着三条语句错误,请指出错误语句行的行号并改正。

/输出一个分数voidFranOutput()coutnume/denoInitFranction(6,15);

/5行b.InitFranction(3,4);

/6行Franctionc;

/7行c.InitFranction();

/8行c=a.FranAdd(b);

/9行coutc.FranOutput()endl;

/10行/11行错误行的行号为_、_和_。

5.下面是一个类的定义,存在着3处语法错误,请指出错误行的行号并改正。

classCE/1行private:

/2行inta,b;

/3行intgetmin()return(ab?

a:

b);

/4行public/5行intc;

/6行voidSetValue(intx1,intx2,intx3)/7行a=x1;

b=x2;

c=x3;

/8行;

/9行intGetMin();

/10行;

/11行intGetMin()/12行intd=getmin();

/13行return(dc?

d:

c);

/14行/16行错误行的行号为_、_和_。

6.下面程序段第4-10行中存在着三条语句的语法错误,请指出错误语句的行号并改正。

classA/1行inta,b;

/2行constintc;

/3行public/4行A():

c(0);

a(0);

b(0)/5行A(intaa,intbb)c(aa+bb);

a=aa;

b=bb;

/6行;

/7行Aa,b(1,2);

/8行A*x=&

a,&

y=b;

/9行A*z=newA,w10;

/10行错误行的行号为_、_和_。

分别改正为_、_和_。

Public:

A():

c(0),a(0),b(0)A(intaa,intbb):

c(aa+bb)a=aa;

7.下面程序段第4-9行中存在着三条语句错误,请指出错误语句的行号并说明原因。

/3行public:

/4行A()a=b=c=0;

/5行A(intaa,intbb):

/7行Aa,b(1,2,3);

/8行Ax(2,3),y(4);

/9行错误行的行号为_、_和_。

错误原因分别为_、_和_。

8.下面程序段第10-17行中存在着三条语句错误,请指出错误语句的行号并说明原因。

classA/1行inta;

/2行public:

/3行A(intaa=0):

a(aa)/4行;

/5行classB/6行inta,b;

/7行constintc;

/8行Ad;

/9行public:

/10行B():

c(0)a=b=0;

/11行B(intaa,intbb):

d(aa+bb)/12行a=aa;

c=aa-bb;

/13行/14行/15行Ba,b(1,2);

/16行Bx=a,y(b),z(1,2,3),;

/17行错误行的行号为_、_和_。

错误原因分别为_、_和_。

9.假定要求下面程序输出结果为“d=800,f=60”,在第4-23行中存在着三条语句错误,请指出错误语句的行号并改正。

#includeclassA/1行inta10;

intn;

/3行A(intaa,intnn):

n(nn)/4行for(inti=0;

i+)aai=ai;

/5行/6行intGet(inti)returnai;

/7行intSumA(intn);

/8行;

/9行intA:

SumA(intn)/10行ints=0;

/11行for(intj=0;

jn;

j+)s+=aj;

/12行returns;

/13行/14行voidmain()/15行inta=2,5,8,10,15,20;

/16行Ax(a,6);

/17行intd=1;

/18行for(inti=0;

i4;

i+)d*=x.ai;

/19行intf=SumA(6);

/20行coutd=d,;

/21行coutf=fendl;

/22行/23行错误行的行号为_、_和_。

51920分别改正为_、_和_。

10.下面是分数类fract的定义及测试主程序,在类定义及其友元函数定义中有两处错误,更正错误后程序应显示41/28,请指出错误所在行的行号并给出改正意见。

classfractintden;

/分子intnum;

/分母public:

fract(intd=0,intn=1):

den(d),num(n)/1行friendfract&

operator+=(fract,fract&

);

/2行voidshow()coutden/next=p;

2.35p=newNODE;

p-next=plist;

3.578b.InitFranction(1,3);

c=a.FranAdd(b);

c.FranOutput()4.6910b-InitFranction(3,4);

c=a-FranAdd(*b);

c.FranOutput()5.5912public:

intCE:

GetMin()6.456Public:

7.589在函数体给常量c赋值定义b多一个参数定义y少一个参数8.131517在函数体给常量c赋值缺少分号定义z多一个参数9.51920ai=aai;

d*=x.Get(i);

intf=x.SumA(6);

10.25friendfract&

operator+=(fract&

fract);

fract&

f1,fractf2);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1