c++第四单元习题.docx
- 文档编号:17381959
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:39
- 大小:214.38KB
c++第四单元习题.docx
《c++第四单元习题.docx》由会员分享,可在线阅读,更多相关《c++第四单元习题.docx(39页珍藏版)》请在冰点文库上搜索。
c++第四单元习题
第四单元
例题:
P89(4.1)
#include
usingnamespacestd;
voidprintstar()
{
cout<<"******************************"< } voidprintmessage() { cout<<"Welcometoc++! "< } voidmain() { printstar(); printmessage(); printstar(); } P91(4.2) #include usingnamespacestd; intmax(intx,inty) { intz; z=x>y? x: y; return(z); } intmain() { inta,b,c; cout<<"pleaseentertwointegernumber: "< cin>>a>>b; c=max(a,b); cout< return0; } P95(4.3) #include usingnamespacestd; intmain() { floatadd(floatx,floaty); floata,b,c; cout<<"pleaseentera,b: "< cin>>a>>b; c=add(a,b); cout< return0; } floatadd(floatx,floaty) { floatz; z=x+y; returnz; } P98(4.4) #include usingnamespacestd; inlineintmax(int,int,int); intmain() { inti=10,j=20,k=30,m; m=max(i,j,k); cout<<"max="< return0; } inlineintmax(inta,intb,intc) { if(b>a)a=b; if(c>a)a=c; returna; } P100(4.5) #include usingnamespacestd; inlineintmax(int,int,int); intmain() { intmax(inta,intb,intc); doublemax(doublea,doubleb,doublec); floatmax(floata,floatb,floatc); inti1,i2,i3,i; cin>>i1>>i2>>i3; i=max(i1,i2,i3); cout<<"i_max="< doubled1,d2,d3,d; cin>>d1>>d2>>d3; d=max(d1,d2,d3); cout<<"d_max="< floatg1,g2,g3,g; cin>>g1>>g2>>g3; g=max(g1,g2,g3); cout<<"g_max="< } intmax(inta,intb,intc) { if(b>a)a=b; if(c>a)a=c; returna; } doublemax(doublea,doubleb,doublec) { if(b>a)a=b; if(c>a)a=c; returna; } floatmax(floata,floatb,floatc) { if(b>a)a=b; if(c>a)a=c; returna; } P101(4.6) #include usingnamespacestd; inlineintmax(int,int,int); intmain() { intmax(inta,intb,intc); intmax(inta,intb); inta=8,b=-12,c=27; cout<<"max(a,b,c)="< cout<<"max(a,b)="< return0; } intmax(inta,intb,intc) { if(b>a)a=b; if(c>a)a=c; returna; } intmax(inta,intb) { return(a>b? a: b); } P102(4.7) #include usingnamespacestd; template Tmax(Ta,Tb,Tc) { if(b>a)a=b; if(c>a)a=c; returna; } intmain() { inti1=185,i2=-76,i3=567,i; doubled1=56.87,d2=90.23,d3=-3214.78,d; longg1=67854,g2=-912456,g3=673456,g; i=max(i1,i2,i3); d=max(d1,d2,d3); g=max(g1,g2,g3); cout<<"i_max="< cout<<"d_max="< cout<<"g_max="< return0; } P104(4.8) #include usingnamespacestd; intmain() { intmax(inta,intb,intc=0); inta,b,c; cin>>a>>b>>c; cout<<"max(a,b,c)="< cout<<"max(a,b)="< return0; } intmax(inta,intb,intc) { if(b>a)a=b; if(c>a)a=c; returna; } P106(4.9) #include #include #include usingnamespacestd; doublef(doublex) { doubley; y=x*x*x-5*x*x+16*x-80; returny; } doublexpoint(doublex1,doublex2) { doublex; x=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); returnx; } doubleroot(doublex1,doublex2) { doublex; do { x=xpoint(x1,x2); if(f(x)*f(x1)>0) x1=x; else x2=x; }while(fabs(f(x))>=0.000001); returnx; } intmain() { doublex1,x2,x,f1,f2; do { cout<<"inputx1,x2"< cin>>x1>>x2; f1=f(x1); f2=f(x2); }while(f1*f2>=0); x=root(x1,x2); cout< : fixed)< cout<<"Arootis: " < return0; } 、 P109(4.10) #include usingnamespacestd; intage(intn) { intc; if(n==1)c=10; else c=age(n-1)+2; returnc; } intmain() { cout< return0; } P111(4.11) #include usingnamespacestd; intjie(intn) { intj; if(n==1||n==0) j=1; else j=n*jie(n-1); returnj; } intmain() { intn,m; cin>>n; m=jie(n); cout< ="< return0; } P117(4.12) #include usingnamespacestd; intf(inta) { autointb=0; staticintc=3; b=b+1; c=c+1; returna+b+c; } intmain() { inta=2,i; for(i=0;i<3;i++) cout< cout< return0; } P118(4.13) #include usingnamespacestd; intf(intn) { staticintf=1; f=f*n; returnf; } intmain() { inti; for(i=1;i<=5;i++) cout< ="< return0; } P120(4.14) #include usingnamespacestd; intmax(int,int); voidmain() { externinta,b; cout< } inta=15,b=-7; intmax(intx,inty) { intz; z=x>y? x: y; returnz; } P125(4.15) P131(4.16) #include usingnamespacestd; #defineRUN intmain() { intx=1,y=2,z=3; #ifdefRUN cout<<"x="< #endif cout<<"x*y*z="< return0; } #include usingnamespacestd; //#defineRUN intmain() { intx=1,y=2,z=3; #ifdefRUN cout<<"x="< #endif cout<<"x*y*z="< return0; } 习题: 1: #include #include usingnamespacestd; inta; intmain() { intmin(int,int); intmax(int,int); intm,n,ming,maxg;//a,b为要计算的值,ming存放a,b的最小公约数,maxg存放a,b的最大公倍数 cout<<"请输入两个数: \n"; cin>>m>>n; ming=min(m,n); maxg=max(m,n); cout<<"最小公约数为: "< cout<<"最大公倍数为: "< return0; } intmin(intx,inty) { intb,c; if(x c=x,x=y,y=c; a=x; b=y; while(b! =0) c=a%b,a=b,b=c; returna; } intmax(intx,inty) { return(x*y)/a; } 2: #include #include #include usingnamespacestd; doublea,b,c,d,x1,x2; intmain() { voidroot1(); voidroot2(); voidroot3(); cout<<"请输入a,b,c的值: \n"; cin>>a>>b>>c; d=b*b-4*a*c; if(d>0) root1(); else if(d==0) root2(); else root3(); return0; } voidroot1() { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); cout<<"该方程有两个根分别是: \n" <<"x1="< <<"x2="< } voidroot2() { x1=(-b)/(2*a); cout<<"该方程只有一个根是: \n" < } voidroot3() { cout<<"该方程有两个根分别是: \n" <<"x1="< <<"x2="< } 两个实数根: 一个实数根: 两个虚根: 3: #include #include usingnamespacestd; intmain() { intjuge(int); intx; cout<<"请输入要判断的数: \n"; cin>>x; if(juge(x)) cout<<"这个数是素数\n"; else cout<<"这个数不是素数\n"; return0; } intjuge(inta) { intm,n,tf; for(m=2;m<=sqrt(a);m++) { n=a%m; if(n==0) tf=0; else { tf=1; break; } } returntf; } 4: #include #include usingnamespacestd; intmain() { intfac(int); inta,b,c,sum; cout<<"请输入a,b,c的值: \n"; cin>>a>>b>>c; sum=fac(a)+fac(b)+fac(c); cout<<"a! +b! +c! +="< return0; } intfac(intx) { inti,s; s=1; for(i=1;i<=x;i++) s=s*i; returns; } 5: #include #include #include constdoublee=2.71828; usingnamespacestd; intmain() { doublee_x(double); doublesinh,x; cout<<"请输入x的值: \n"; cin>>x; sinh=(e_x(x)-e_x(-x))/2; cout<<"sinh("< : fixed)< : right)< < return0; } doublee_x(doublea)//求e^x的值 { doublee_a; e_a=1; inti; for(i=0;i { e_a=e_a*e; } if(a==0) e_a=0; else if(a<0) e_a=1/e_a; returne_a; } 6: #include #include #include usingnamespacestd; intmain() { doublevalue(double,double,double,double); doublea,b,c,d; cout<<"请输入a,b,c,d: \n"; cin>>a>>b>>c>>d; cout<<"x="< return0; } doublevalue(doublea,doubleb,doublec,doubled) { doublex=1,x0,f,f1; do { x0=x; f=((a*x0+b)*x0+c)*x0+d; f1=(3*a*x0+2*b)*x0+c; x=x0-f/f1; } while(fabs(x-x0)>=1e-5); returnx; } 7: #include #include usingnamespacestd; intmain() { intgotbaha(int); intx; cout<<"请输入一个不小于6的偶数: \n"; cin>>x; gotbaha(x); return0; } intgotbaha(inta) { intprime(int); intb,c;//b,c是x可能的素数加数 for(b=0;b if(prime(b)) { c=a-b; if(prime(c))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 第四 单元 习题
![提示](https://static.bingdoc.com/images/bang_tan.gif)