C++经典例题和解析初学者使用.docx
- 文档编号:4704823
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:14
- 大小:17.53KB
C++经典例题和解析初学者使用.docx
《C++经典例题和解析初学者使用.docx》由会员分享,可在线阅读,更多相关《C++经典例题和解析初学者使用.docx(14页珍藏版)》请在冰豆网上搜索。
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;j 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< }//结果(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< 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(); }//经验设为友元方可直接访问,但是不太好,别的一定要通过函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 经典 例题 解析 初学者 使用