C++经典例题和解析初学者使用.docx

上传人:b****5 文档编号:4704823 上传时间:2022-12-07 格式:DOCX 页数:14 大小:17.53KB
下载 相关 举报
C++经典例题和解析初学者使用.docx_第1页
第1页 / 共14页
C++经典例题和解析初学者使用.docx_第2页
第2页 / 共14页
C++经典例题和解析初学者使用.docx_第3页
第3页 / 共14页
C++经典例题和解析初学者使用.docx_第4页
第4页 / 共14页
C++经典例题和解析初学者使用.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C++经典例题和解析初学者使用.docx

《C++经典例题和解析初学者使用.docx》由会员分享,可在线阅读,更多相关《C++经典例题和解析初学者使用.docx(14页珍藏版)》请在冰豆网上搜索。

C++经典例题和解析初学者使用.docx

C++经典例题和解析初学者使用

#include

usingnamespacestd;

voidmain()

{

chara[][20]={"zhao","zi","qian"};

cout<

}//结果为qian

#include

#include

usingnamespacestd;

voidmain()

{inti,k;

for(i=0;i<6;i++)

{for(k=1;k<=i;k++)

cout<

cout<

//从本题看在需要输出的字符'1'之前编译器最后得到的是setfill('*')的指令,故填充的是*;

//若cout<

//在需要输出的字符'1'之前编译器最后得到的是setfill('a')的指令,故填充的是a;

}

}//结果为

*****1

****1

***1

**1

*1

1

#include

#include

usingnamespacestd;

voidmain()

{intn;

for(n=1;n<6;n++)

{if(n%2)cout<<"1";

elsecontinue;

cout<<"2";}

cout<

}//结果121212

#include

#include

usingnamespacestd;

intt=5;

voidmain()

{inti,j,k=0;

for(i=1;i<=t;i+=2)

for(j=2;j<=t;j++)

if(i+j==t)cout<<'+';

elseif(i*j==t)cout<<'*';//if&else组成天然的联系,不用{}亦可

elsek++;

cout<<"k="<

}//结果+*+k=9

#include

#include

usingnamespacestd;

intn=10;

voidmain()

{inti=1;

for(i=1;i<=n;i++)

{

if(i%5!

=0)continue;

cout<

cout<

}//结果为(空格x)xxxx5xxxx10

#include

#include

usingnamespacestd;

intn=10;

voidmain()

{inti=5;

while(inti=0){cout<<"*";i--;}

cout<

}//answerNULL

#include

#include

usingnamespacestd;

voidmain()

{introw(9);

inti,j,n;

n=row/2+1;

for(i=1;i<=n;i++)

{for(j=1;j<=n-1;j++)//(*)

cout<<'#';

for(j=1;j<=2*i-1;j++)//($)

cout<<'*';

cout<

}//answer####*

//####***

//####*****

//####*******

//####*********

//注意(*)式与($)的顺序,此至关重要!

#include

usingnamespacestd;

voidmain()

{

chara,b,c,d;

a='\101';b='\x41';c=65;d='A';//'\ddd'表示八进制'\xhh'表示十六进制

cout<

cout<

cout<

cout<

#include

usingnamespacestd;

voidmain()

{inta[3]={1,2,3},*p=a;

cout<

}

#defineN10

#include

#include

usingnamespacestd;

voidsort(intx[],intk)

{inti,j,t,flag;

for(j=0;j

{flag=0;

for(i=0;i

if(x[i]>x[i+1])

{t=x[i];

x[i]=x[i+1];

x[i+1]=t;

flag=1;

}

if(flag=0)break;

}

}

voidprint(intb[],intk)

{inti;

for(i=0;i

{if(i%5==0)cout<<'\n';

cout<

}

intmain()

{inta[N];

inti;

cout<<"input\t";//\t空格\n换行

for(i=0;i

cin>>a[i];

sort(a,N);

print(a,N);

return0;}

#include

#defineN4

usingnamespacestd;

intlookup(intx[],intn,inty)

{inti,p=-1;

for(i=0;i

{if(x[i]==y){p=i;break;}}

returnp;}

voidmain()

{inti,k,y,n=N;

intx[N];

for(i=0;i

cin>>x[i];

cin>>y;

k=lookup(x,n,y);//functiondoesnottake1parameters需要重新输入

cout<

#include

usingnamespacestd;

classPerson{intage;

public:

Person();

~Person();

voidsetage(intx);

voidsetage2(Persona);

voidshow_age();};

Person:

:

Person(){cout<<"novalue"<

Person:

:

~Person(){cout<<"destructor"<

voidPerson:

:

setage(intx){age=x;}

voidPerson:

:

show_age(){cout<

voidPerson:

:

setage2(Persona){age=a.age;}

intmain(intargc,char*argv[])

{Personm,n,p;

intx;

cin>>x;

m.setage(x);

m.show_age();//析构函数在运行完(下一个重载或者整个函数运行完毕)开始进行析构,若无碍就最后析构

n.setage2(m);//复制构造亦属于构造的一种

n.show_age();

return0;}//结果是

//novalue

//novalue

//1

//1

//destructor

//1

//destructor

//destructor

#include

#defineN7

usingnamespacestd;

voidmain()

{intA[N],k[N],i,j,t,s;

for(i=0;i

{cin>>A[i];k[i]=1;}

for(i=0;i

{for(j=0;jA[j]){k[i]+=1;

for(t=j+1;t

for(s=0;s

}

#include

usingnamespacestd;

voidf(floatx,int*y,float*z)

{*z=x-(int)x

;*y=x;

}

voidmain()

{floatx;inty;

floatz;

cout<<"请输入一个数字:

"<

cin>>x;

f(x,&y,&z);

cout<<"整数部分是:

"<

cout<<"小数部分是:

"<

}

#include

usingnamespacestd;

classPerson{intage;

public:

Person();

~Person();

voidsetage(intx);

voidsetage2(Persona);

voidshow_age();};

Person:

:

Person(){cout<<"novalue"<

Person:

:

~Person(){cout<<"destructor"<

voidPerson:

:

setage(intx){age=x;}

voidPerson:

:

show_age(){cout<

voidPerson:

:

setage2(Persona){age=a.age;}

intmain(intargc,char*argv[])

{Personm,n,p;

intx;

cin>>x;

m.setage(x);

m.show_age();//析构函数在运行完(下一个重载或者整个函数运行完毕)开始进行析构,若无碍就最后析构

n.setage2(m);//复制构造亦属于构造的一种

n.show_age();

return0;}//结果是

//novalue

//novalue

//1

//1

//destructor

//1

//destructor

//destructor

#include

usingnamespacestd;

voidmain()

{

unionexx

{

inta;

charch;

struct

{

intc;

chard;

}s;

}u={20},*p;

p=&u;

u.ch=p->a+77;

u.s.c=p->ch-32;

u.s.d=(*p).ch+32;

cout<<(*p).s.c<<'\t'<<(*p).ch<

cout<a<<'\t'<s.d<

}//结果(asciiA65a97)

//65A

//65a

#include

usingnamespacestd;

structst{intx;int*y;}*p;

ints[]={5,6,7,8};

sta[]={10,&s[0],20,&s[1],30,&s[2],40,&s[3]};

voidmain()

{p=a;

cout<x<<",";

cout<<(++p)->x<<",";

cout<<*(++p)->y<<",";

cout<<++(*(++p)->y)<

}//结果10,20,7,9

#include

#definepi3.141693

usingnamespacestd;

classcirclea

{floats,c;

public:

circlea(floatr)

{s=pi*r*r;

c=pi*r*2;}

friendclasscircleb;

display()

{cout<<"面积是(circlea)"<

};

classcircleb

{public:

display(circleaobj)

{cout<<"周长是(circleb)"<

};

voidmain()

{intr;

cout<<"请输入半径:

"<

cin>>r;

if(r<0)cout<<"数据有误"<

else

{circleaobja(r);

circlebobjb;

obja.display();

objb.display(obja);}

}

#include

usingnamespacestd;

classjiecheng

{intp;

public:

jiecheng(intn)

{if(n<0)cout<<"数据有误"<

else

{p=1;//此处若改为intp=1;则出错这是重新定义了新的局部变量

//变量要一至必须只能定义一次

for(inti=1;i<=n;i++)p*=i;

}}

show()

{cout<<"!

"<<"="<

};

voidmain()

{intn;

cout<<"请输入数字:

";

cin>>n;

jiechenga(n);

cout<

a.show();//不能改为cout<

cout<

}

#include

usingnamespacestd;

structper

{inti;

charc;

char*cp;

};

voidfunc(pera)//此处的a只是一个局部变量,不会改变主函数中的值(返回void)

//换为voidfunc(per&a)则为引用,改变值

{a.i=59;a.c='f';a.cp="li";

}

main()

{perq={62,'m',"luo"};

func(q);

cout<

}

#include

usingnamespacestd;

unionex

{shortinti;

charch;

};

voidmain()

{exdata;

data.ch='A';

cout<<"data.i="<

data.i=0x5566;

cout<<"data.i="<

cout<<"data.ch="<

data.ch='A';

cout<<"data.ch="<

改变了低位。

cout<<"data.i="<

}

//结果

//data.i=cc41

//data.i=5566

//data.ch=f

//data.ch=A

//data.i=5541

#include

#include

usingnamespacestd;

classpoint

{floatx,y;

public:

point(floata,floatb)

{x=a;y=b;}

friendclassDistance;

};

classDistance

{floats,l,n;

public:

Distance(pointa,pointb)

{l=a.x-b.x;n=a.y-b.y;

s=sqrt(l*l+n*n);}

display()

{cout<

};

voidmain()

{floata,b,c,d;

cout<<"pleaseputintwopoint"<

cout<<"x=";cin>>a;

cout<<"y=";cin>>b;

cout<<"nextpoint"<

cout<<"x=";cin>>c;

cout<<"y=";cin>>d;

pointn(c,d),m(a,b);

Distancer(m,n);

cout<<"thedistanceof("<

r.display();

}//经验设为友元方可直接访问,但是不太好,别的一定要通过函数

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

当前位置:首页 > 高中教育 > 理化生

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

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