C++.docx

上传人:b****5 文档编号:28730228 上传时间:2023-07-19 格式:DOCX 页数:25 大小:23.21KB
下载 相关 举报
C++.docx_第1页
第1页 / 共25页
C++.docx_第2页
第2页 / 共25页
C++.docx_第3页
第3页 / 共25页
C++.docx_第4页
第4页 / 共25页
C++.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C++.docx

《C++.docx》由会员分享,可在线阅读,更多相关《C++.docx(25页珍藏版)》请在冰豆网上搜索。

C++.docx

C++

ProblemA:

重载函数:

max

TimeLimit:

 1Sec  MemoryLimit:

 128MB

Submit:

 2926  Solved:

 2256

[Submit][Status][WebBoard]

Description

编写两个名为max的函数,它们是重载函数,用于求两个整数或实数的最大值。

它们的原型分别是:

intmax(inta,intb);

doublemax(doublea,doubleb);

返回值是a和b的最大值。

Input

输入4个数,前两个数是int类型的整数,后2个数是double类型的实数。

Output

输出2个数,每个数占一行。

第一个数对应于输入的两个整数的最大值,第二个数对应于输入的两个实数的最大值。

SampleInput

121.41.3

SampleOutput

21.4

HINT

AppendCode

append.cc,

#include

usingnamespacestd;

intmax(inta,intb)

{

returna>b?

a:

b;

}

doublemax(doublea,doubleb)

{

returna>b?

a:

b;

}

intmain()

{

inta,b;

doublec,d;

cin>>a>>b;

cout<

cin>>c>>d;

cout<

return0;

}

ProblemB:

默认参数:

求圆面积

TimeLimit:

 1Sec  MemoryLimit:

 128MB

Submit:

 2684  Solved:

 2124

[Submit][Status][WebBoard]

Description

编写一个带默认值的函数,用于求圆面积。

其原型为:

doublearea(doubler=1.0);

当调用函数时指定参数r,则求半径为r的圆的面积;否则求半径为1的圆面积。

其中,PI取值3.14。

Input

一个实数,是圆的半径。

Output

输出有2行。

第一行是以输入数值为半径的圆面积,第二行是半径为1的圆面积。

SampleInput

19

SampleOutput

1133.543.14

HINT

AppendCode

append.cc,

#include

usingnamespacestd;

doublearea(doubler=1.0)

{

return3.14*r*r;

}

intmain()

{

doubler;

cin>>r;

cout<

cout<

return0;

}

ProblemC:

求(x-y+z)*2

TimeLimit:

 1Sec  MemoryLimit:

 128MB

Submit:

 1988  Solved:

 1677

[Submit][Status][WebBoard]

Description

编写一个程序,求解以下三个函数:

f(x,y,z)=2*(x-y+z)

f(x,y) =2*(x-y)

f(x)  =2*(x-1)

函数调用格式见append.cc。

append.cc中已给出main()函数。

Input

输入的测试数据为多组。

每组测试数据的第一个数是n(1<=n<=3),表示后面有n个整数。

当n为3时,后跟3个输入为x,y,z;

当n为2时,后跟2个输入为x,y;

当n为1时,后跟1个输入为x;

当n为0时,表示输入结束

输入的n不会有其他取值。

所有运算都不会超出int类型范围。

Output

每组测试数据对应一个输出。

输出x-y+z的值。

SampleInput

3121384523911173

SampleOutput

25656144

HINT

AppendCode

append.cc,

#include

usingnamespacestd;

intf(intx,inty,intz)

{

return2*(x-y+z);

}

intf(intx,inty)

{

return2*(x-y);

}

intf(intx)

{

return2*(x-1);

}

intmain()

{

intn,x,y,z;

while(cin>>n)

{

if(n==3)

{

cin>>x>>y>>z;

cout<

}

if(n==2)

{

cin>>x>>y;

cout<

}

if(n==1)

{

cin>>x;

cout<

}

if(n==0)

break;

}

}

ProblemD:

编写函数:

Swap(I)(AppendCode)

TimeLimit:

 1Sec  MemoryLimit:

 16MB

Submit:

 7178  Solved:

 5079

[Submit][Status][WebBoard]

Description

编写用来交换两个数的函数,使得“AppendCode”中的main()函数能正确运行。

-----------------------------------------------------------------------------

用C实现三个函数int_swap()、dbl_swap()、SWAP(),其中SWAP()是个带参宏。

用C++实现两个函数,都以swap()命名。

以上函数的调用格式见“AppendCode”。

这里不给出函数原型,它们的参数请通过main()函数自行确定。

Input

输入为4行,每行2个数。

Output

输出为4行,每行2个数。

每行输出的两数为每行输入的逆序。

SampleInput

12579-3-12435

SampleOutput

5712-394-1253

HINT

“AppendCode”中用到的头文件、全局变量或宏的定义应自行补充。

AppendCode

append.c, append.cc,

#include

usingnamespacestd;

voidswap(int*x1,int*y1)

{

intt;

t=*x1;

*x1=*y1;

*y1=t;

}

voidswap(double*x2,double*y2)

{

doublet1;

t1=*x2;

*x2=*y2;

*y2=t1;

}

intmain()

{

intx1,y1;

cin>>x1>>y1;

swap(&x1,&y1);

cout<

cin>>x1>>y1;

swap(x1,y1);

cout<

doublex2,y2;

cin>>x2>>y2;

swap(&x2,&y2);

cout<

cin>>x2>>y2;

swap(x2,y2);

cout<

}

ProblemE:

编写函数:

三个数的最大最小值(AppendCode)

TimeLimit:

 1Sec  MemoryLimit:

 2MB

Submit:

 5131  Solved:

 3346

[Submit][Status][WebBoard]

Description

给出三个数a,b,c,最大值是?

最小值是?

-----------------------------------------------------------------------------

编写以下两个函数:

get_num()的功能是读取输入的三个整数a,b,c;

max_min()的功能是求出a,b,c的最大值和最小值。

以上函数的调用格式见“AppendCode”。

这里不给出函数原型,请通过main()函数自行确定。

Input

输入的第一个整数n,表示有n组测试数据,每组3个整数:

a,b,c。

a,b,c都在int类型范围内。

Output

每组测试数据对应输出一行:

为a,b,c的最大值和最小值,格式见sample。

SampleInput

5201510101520100100001-1000

SampleOutput

case1:

20,10case2:

20,10case3:

100,0case4:

1,-1case5:

0,0

HINT

AppendCode

append.c, append.cc,

#include

usingnamespacestd;

intget_num(int&a,int&b,int&c)

{

cin>>a>>b>>c;

}

intmax_min(int&mmax,int&mmin,int&a,int&b,int&c)

{

if(a>b)

mmax=a;

else

mmax=b;

if(mmax

mmax=c;

if(a>b)

mmin=b;

else

mmin=a;

if(mmin>c)

mmin=c;

returnmmax,mmin;

}

intmain()

{

intcases;

intmmax,mmin,a,b,c;

cin>>cases;

for(inti=1;i<=cases;++i)

{

get_num(a,b,c);

max_min(mmax,mmin,a,b,c);

cout<<"case"<

"<

}

}

ProblemF:

平面上的点——Point类(I)

TimeLimit:

 1Sec  MemoryLimit:

 4MB

Submit:

 6823  Solved:

 2994

[Submit][Status][WebBoard]

Description

在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定。

现在我们封装一个“Point类”来实现平面上的点的操作。

根据“append.cc”,完成Point类的构造方法和show()方法。

接口描述:

Point:

:

show()方法:

按输出格式输出Point对象。

Input

输入多行,每行为一组坐标“x,y”,表示点的x坐标和y坐标,x和y的值都在double数据范围内。

Output

输出为多行,每行为一个点,X坐标在前,Y坐标在后,Y坐标前面多输出一个空格。

每个坐标的输出精度为最长16位。

输出格式见sample。

C语言的输入输出被禁用。

SampleInput

1,23,32,1

SampleOutput

Point:

(1,2)Point:

(3,3)Point:

(2,1)Point:

(0,0)

HINT

注意精度控制,C语言的输入输出被禁用。

AppendCode

append.cc,

#include

#include

usingnamespacestd;

classPoint

{

private:

doublex,y;

public:

Point(doublexx,doubleyy)

{

x=xx;

y=yy;

}

Point()

{

x=y=0;

}

voidshow()

{

cout<

'<<""<<'('<

}

};

intmain()

{

charc;

doublea,b;

Pointq;

while(std:

:

cin>>a>>c>>b)

{

Pointp(a,b);

p.show();

}

q.show();

}

ProblemG:

定义一个类——myClass

TimeLimit:

 1Sec  MemoryLimit:

 128MB

Submit:

 765  Solved:

 567

[Submit][Status][WebBoard]

Description

有如下一个类:

classmyClass

{

 private:

  intattribute;

 public:

  myClass(inta=0);  

  voidsetAttr(inta);  //用于修改attribute的值

  voidprintInfo();   //用于输出attrubute

};

请实现类的各个成员函数,使其能满足main函数中使用该类的需要。

Input

一个正整数。

Output

三个正整数,每个占一行。

SampleInput

25

SampleOutput

10025

HINT

AppendCode

append.cc,

#include

usingnamespacestd;

classmyClass

{

private:

intattribute;

public:

myClass(inta=0);

voidsetAttr(inta);

voidprintInfo();

};

myClass:

:

myClass(inta)

{

attribute=a;

}

voidmyClass:

:

setAttr(inta)

{

attribute=a;

}

voidmyClass:

:

printInfo()

{

cout<

}

intmain()

{

myClassm1(10),m2;

inta;

m1.printInfo();

m2.printInfo();

cin>>a;

m2.setAttr(a);

m2.printInfo();

return0;

}

ProblemH:

时间类的构造和输出

TimeLimit:

 4Sec  MemoryLimit:

 128MB

Submit:

 2292  Solved:

 1863

[Submit][Status][WebBoard]

Description

封装一个时间类Time,用于时间处理的相关功能,支持以下操作:

1.Time:

:

Time(int,int,int)构造方法:

传递时分秒的三个参数构造对象。

2.Time:

:

showTime()方法:

输出“hh:

mm:

ss”,不足两位的要前面补0。

你设计一个时间类Time,使得main()函数能够正确运行。

函数调用格式见append.cc。

append.cc中已给出main()函数。

Input

输入的第一个整数n,表示有n组测试数据,每组3个整数:

hh,mm,ss,分别表示时、分、秒,其值都在合法的时间范围内。

Output

每组测试数据对应一组输出“hh:

mm:

ss”,不足两位的输出需要前面补0,格式见sample。

SampleInput

5001059591112300235959

SampleOutput

00:

00:

0100:

59:

5901:

01:

0123:

00:

0023:

59:

59

HINT

输出格式用头文件中流操作算子:

setw(w) :

设置数据的输出宽度为w个字符

setfill(c):

设置用字符c作为填充字符

AppendCode

append.cc,

#include

#include

usingnamespacestd;

classTime

{

private:

inth,m,s;

public:

Time(inthh,intmm,intss)

{

h=hh;

m=mm;

s=ss;

}

voidshowTime()

{

cout<

(2)<

";

cout<

(2)<

";

cout<

(2)<

}

};

intmain()

{

intcases;

cin>>cases;

for(inti=1;i<=cases;++i)

{

inthour,minute,second;

cin>>hour>>minute>>second;

Timet(hour,minute,second);

t.showTime();

}

}

ProblemI:

时间类的成员读写

TimeLimit:

 4Sec  MemoryLimit:

 128MB

Submit:

 2061  Solved:

 1791

[Submit][Status][WebBoard]

Description

封装一个时间类Time,用于时间处理的相关功能,支持以下操作:

1.Time:

:

Time()无参构造方法。

2.成员读函数:

  Time:

:

hour() :

返回Time的小时数;

  Time:

:

minute():

返回Time的分钟数;

  Time:

:

second():

返回Time的秒数。

3.成员写函数:

  Time:

:

hour(int) :

传参修改Time的小时数;

  Time:

:

minute(int):

传参修改Time的分钟数;

  Time:

:

second(int):

传参修改Time的秒数。

你设计一个时间类Time,使得main()函数能够正确运行。

函数调用格式见append.cc。

append.cc中已给出main()函数。

Input

输入的第一个整数n,表示有n组测试数据,每组3个整数:

hh,mm,ss,分别表示时、分、秒,其值都在合法的时间范围内。

Output

每组测试数据对应一组输出“hh:

mm:

ss”,不足两位的输出需要前面补0,格式见sample。

SampleInput

5001059591112300235959

SampleOutput

00:

00:

0100:

59:

5901:

01:

0123:

00:

0023:

59:

59

HINT

输出格式用头文件中流操作算子:

setw(w) :

设置数据的输出宽度为w个字符

setfill(c):

设置用字符c作为填充字符

AppendCode

append.cc,

#include

#include

usingnamespacestd;

classTime

{

private:

inth,m,s;

public:

voidhour(inthh)

{

h=hh;

}

voidminute(intmm)

{

m=mm;

}

voidsecond(intss)

{

s=ss;

}

inthour()

{

returnh;

}

intminute()

{

returnm;

}

intsecond()

{

returns;

}

 

};

intmain()

{

Timet;

intcases;

cin>>cases;

for(inti=1;i<=cases;++i)

{

inthour,minute,second;

cin>>hour>>minute>>second;

t.hour(hour);

t.minute(minute);

t.second(second);

cout<

(2)<

";

cout<

(2)<

";

cout<

(2)<

}

}

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

当前位置:首页 > 人文社科 > 文学研究

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

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