C++编程实例文档格式.docx

上传人:b****4 文档编号:7352611 上传时间:2023-05-08 格式:DOCX 页数:36 大小:21.26KB
下载 相关 举报
C++编程实例文档格式.docx_第1页
第1页 / 共36页
C++编程实例文档格式.docx_第2页
第2页 / 共36页
C++编程实例文档格式.docx_第3页
第3页 / 共36页
C++编程实例文档格式.docx_第4页
第4页 / 共36页
C++编程实例文档格式.docx_第5页
第5页 / 共36页
C++编程实例文档格式.docx_第6页
第6页 / 共36页
C++编程实例文档格式.docx_第7页
第7页 / 共36页
C++编程实例文档格式.docx_第8页
第8页 / 共36页
C++编程实例文档格式.docx_第9页
第9页 / 共36页
C++编程实例文档格式.docx_第10页
第10页 / 共36页
C++编程实例文档格式.docx_第11页
第11页 / 共36页
C++编程实例文档格式.docx_第12页
第12页 / 共36页
C++编程实例文档格式.docx_第13页
第13页 / 共36页
C++编程实例文档格式.docx_第14页
第14页 / 共36页
C++编程实例文档格式.docx_第15页
第15页 / 共36页
C++编程实例文档格式.docx_第16页
第16页 / 共36页
C++编程实例文档格式.docx_第17页
第17页 / 共36页
C++编程实例文档格式.docx_第18页
第18页 / 共36页
C++编程实例文档格式.docx_第19页
第19页 / 共36页
C++编程实例文档格式.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++编程实例文档格式.docx

《C++编程实例文档格式.docx》由会员分享,可在线阅读,更多相关《C++编程实例文档格式.docx(36页珍藏版)》请在冰点文库上搜索。

C++编程实例文档格式.docx

cout<

"

;

20、找出1000之内所有的完数例如6的因子是而6=1+2+3,所以6是完数

intmain()

{intm,s,i;

for(m=2;

m<

m++)

{s=0;

for(i=1;

i<

m;

i++)

if((m%i)==0)s=s+i;

if(s==m)

{cout<

isa完数"

itsfactorsare:

if(m%i==0)cout<

21、2/1,3/2,5/3,8/5,13/8,21/13,…前20项之和

intmain()

{inti,t,n=20;

doublea=2,b=1,s=0;

=n;

{s=s+a/b;

t=a;

a=a+b;

<

else

isnotaprime."

intprime(intn)

intflag=1,i;

for(i=2;

n/2&

&

flag==1;

if(n%i==0)

flag=0;

return(flag);

4、.求a!

+b!

+c!

的值,用一个函数fac(n)求n!

4

{intfac(int);

inta,b,c,sum=0;

entera,b,c:

cin>

>

a>

b>

c;

sum=sum+fac(a)+fac(b)+fac(c);

a<

!

+"

b<

c<

sum<

intfac(intn)

intf=1;

for(inti=1;

f=f*i;

returnf;

7、.验证哥德巴赫猜想:

一个不小于6的偶数可以表示为两个素数之和。

7

cmath>

{voidgodbaha(int);

inputn:

n;

godbaha(n);

}

voidgodbaha(intn)

{intprime(int);

inta,b;

for(a=3;

=n/2;

a=a+2)

{if(prime(a))

{b=n-a;

if(prime(b))

intprime(intm)

{inti,k=sqrt(m);

for(i=2;

=k;

if(m%i==0)break;

if(i>

k)return1;

elsereturn0;

11、用递归方法求f(n)=12+22+……+n2

intf(int);

intn,s;

inputthenumbern:

s=f(n);

Theresultis"

}

intf(intn)

if(n==1)

return1;

return(n*n+f(n-1));

例5.2用数组Fibonacci数列

{inti;

intf[20]={1,1};

20;

f[i]=f[i-2]+f[i-1];

for(i=0;

{if(i%5==0)cout<

setw(8)<

f[i];

例用冒泡法对10个数排序

inta[10];

inti,j,t;

input10numbers:

for(i=0;

10;

i++)编程计算1,1+2,1+2+3,…,1+2+3+…+n各项值的积

答案:

voidmain()

inti,n,mul=1,sum=0;

Pleaseinputn:

sum+=i;

mul*=sum;

Themultipleis:

mul<

2.编写重载函数Max可分别求取两个整数,三个字符,两个浮点型数,三个双精度数的最大值。

intmax(inti,intj)

j)

returni;

else

returnj;

charmax(charc1,charc2,charc3)

charch;

if(c1>

c2)

ch=c1;

ch=c2;

if(c3>

ch)

ch=c3;

returnch;

floatmax(floatx,floaty)

if(x>

y)

returnx;

returny;

doublemax(doublex1,doublex2,doublex3)

doubley;

if(x1>

x2)

y=x1;

y=x2;

if(x3>

y=x3;

returny;

3.请编写一个函数intfind(chars[],chart[]),该函数在字符串s中查找字符串t,如果找到,则返回字符串t在字符串s中的位置(整数值);

否则返回-1。

注意:

用数组方式及两重循环来实现该函数。

intfind(chars[],chart[])

inti,j,slen,tlen;

slen=strlen(s);

tlen=strlen(t);

i=0;

j=0;

while(i<

slen&

j<

tlen)

if(s[i]==t[j])

{

i++;

j++;

}

else

i=i-j+1;

j=0;

if(j>

=tlen)

returni-tlen+1;

return-1;

4.写一程序,将字符串a的所有字符传送到字符串b中,要求每传送3个字符后放一个空格,例如,字符串a为”abcdefg”,则b为”abcdegg”。

#defineN40

voidfun(chars[],chart[])

inti=0,j=0;

while(s[i])

t[j]=s[i];

i++;

j++;

if((i)%3==0)

t[j]='

'

j++;

t[j]='

\0'

main()

chara[N],b[N];

printf("

请输入原始字符串a:

);

gets(a);

fun(a,b);

加入空格后的字符串b:

puts(b);

5.编程判断一个数是否为素数。

inti,flag=1;

=int(sqrt(m));

if(m%i==0)

{flag=0;

break;

returnflag;

intmain(void)

请输入一个整数:

if(prime(n))

是素数!

不是素数!

6.编程打印九九乘法表:

1=1

2=22×

2=4

3=32×

3=63×

3=9

….

inti,j;

=9;

for(j=1;

j<

=i;

j++)

printf("

%1d*%1d=%2d"

j,i,i*j);

\n"

7.请编写一个程序,程序的功能是打印以下图案。

*

***

*****

*******

=4;

=4-i;

cout<

'

=2*i-1;

*'

for(i=3;

i>

=1;

i--)

8.写出下面程序的运行结果:

voidaverage(float*p,intn)

floatsum=0;

i++,p++)

sum+=(*p);

sum/n;

floatscore[2][2]={{1,2},{3,4}};

average(*score,4);

C++部分

1.定义一个满足如下要求的Date类。

(1)用下面的格式输出日期:

日/月/年

(2)可运行在日期上加一天操作;

(3)设置日期。

externinti=0;

classDate

{

public:

set(inty,intm,intd);

add();

print();

private:

intyear;

intmonth;

intday;

};

Date:

:

set(inty,intm,intd)

year=y;

month=m;

day=d;

add()

switch(month)

case1:

case3:

case5:

case7:

case8:

case10:

if(day<

31)

day+=1;

elseif(day==31)

{

day=1;

month+=1;

}

case12:

month=1;

year+=1;

case4:

case6:

case9:

case11:

30)

day+=1;

elseif(day==30)

day=1;

month+=1;

break;

case2:

if(year%4==0&

year%100!

=0||year%400==0)

if(day<

29)

day+=1;

elseif(day==29)

{

day=1;

month+=1;

}

else

28)

elseif(day==28)

{

month+=1;

}

}

print()

cout<

day<

/"

month<

year<

endl;

voidmain()

Dated1;

请输入年月日:

cin>

year>

month>

day;

(year,month,day);

();

下一天是:

;

2.定义一个时间类Time,能提供和设置由时、分、秒组成的时间,并编出应用程序,定义时间对象,设置时间,输出该对象提供的时间。

编写一个矩形的类,要求类中具有长和宽2个数据成员,具有构造函数、计算矩形的面积即及周长这3个成员函数。

classrectangle

floatwidth;

floatheigth;

rectangle(floatw,floath)

{width=w;

heigth=h;

floatarea(){returnwidth*heigth;

floatcirculm(){return2*(width+heigth);

4.设计一个人的类,要求包含姓名、身份证号、年龄、以及人的总数和所有人的平均年龄这5个数据成员,然后编写一个测试程序,输入n个人的

信息(姓名、身份证号和年龄),要求输出这些人的信息和平均年龄。

#include<

cstring>

constintn=3;

classPerson

private:

charname[20];

charid[18];

intage;

public:

staticintcount;

isplay();

人的数量:

Person:

count<

平均年龄:

aveage<

5.编写一个圆的类,再使用派生类的机制,编写一个圆柱的类,求每个类都包含具有初始化功能的构造函数和相关数据的输出函数。

#definepi

classcircle

protected:

floatr;

floatarea;

circle(){r=0;

circle(floatradius){r=radius;

voidprint()

area=r*r*pi;

r="

r<

area="

area<

classcolumn:

circle

floath;

floatv;

public:

column(floatradius,floatheight):

circle(radius)

{h=height;

circle:

print();

h="

h<

volume="

area*h<

columncol,;

6.重载一个函数模板,要求它可以返回两个值中的较大者,也可以求三个数的最大值。

面是整型安全数组类的一部分:

试完善类的定义,使下段程序能够正常运行且不会出现内存泄漏。

classArray{

Array(intx){

count=x;

p=newint[count];

int&

operator[](intx)

{return*(p+x);

intcount;

int*p;

Array(intx);

Array(Array&

~Array();

voidSetAt(intpos,intvalue);

intGetAt(intpos);

Array:

Array(intx)

count=x;

p=newint[count];

Array(Array&

a)

count=;

count;

*(p+i)=*+i);

~Array()

deletep;

voidArray:

SetAt(intpos,intvalue)

*(p+pos)=value;

intArray:

GetAt(intpos)

return*(p+pos);

8、编写类String的构造函数、析构函数和赋值函数

已知类String的原型为:

classString

String(constchar*str=NULL);

//普通构造函数

String(constString&

other);

//拷贝构造函数

~String(void);

//析构函数

String&

operate=(constString&

//赋值函数

char*m_data;

//用于保存字符串

请编写String的上述4个函数。

String:

String(constchar*str)

构造函数被调用了"

if(str==NULL)//避免出现野指针

m_data=newchar[1];

*m_data='

intlength=strlen(str);

m_data=newchar[length+1];

strcpy(m_data,str);

~String(void)

deletem_data;

析构函数被调用了"

other)

赋值构造函被调用了"

intlength=strlen;

strcpy(m_data,;

String

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2