《C++程序设计教程 第2版》教学素材习题05答案.docx

上传人:b****7 文档编号:9658045 上传时间:2023-02-05 格式:DOCX 页数:15 大小:16.68KB
下载 相关 举报
《C++程序设计教程 第2版》教学素材习题05答案.docx_第1页
第1页 / 共15页
《C++程序设计教程 第2版》教学素材习题05答案.docx_第2页
第2页 / 共15页
《C++程序设计教程 第2版》教学素材习题05答案.docx_第3页
第3页 / 共15页
《C++程序设计教程 第2版》教学素材习题05答案.docx_第4页
第4页 / 共15页
《C++程序设计教程 第2版》教学素材习题05答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

《C++程序设计教程 第2版》教学素材习题05答案.docx

《《C++程序设计教程 第2版》教学素材习题05答案.docx》由会员分享,可在线阅读,更多相关《《C++程序设计教程 第2版》教学素材习题05答案.docx(15页珍藏版)》请在冰豆网上搜索。

《C++程序设计教程 第2版》教学素材习题05答案.docx

《C++程序设计教程第2版》教学素材习题05答案

习题5答案

1.参考答案

#include

floataverage(floata,floatb,floatc,floatd)

{return(a+b+c+d)/4;}

voidmain()

{

floata,b,c,d;

cout<<"请输入四个数:

"<

cin>>a>>b>>c>>d;

cout<<"四个数的平均值为:

";

cout<

}

2.参考答案

#include

intodd(inta)

{

if(a%2)return1;

elsereturn0;

}

voidmain()

{

inta,oddsum=0,evensum=0;

cout<<"请输入正整数,以-1作为结束:

"<

cin>>a;

while(a!

=-1)

{

if(odd(a))oddsum++;

elseevensum++;

cin>>a;

}

cout<<"奇数个数为:

"<

cout<<"偶数个数为:

"<

}

3.参考答案

#include

#include

#definePI3.1415926

floatdistance(floatx1,floatx2,floaty1,floaty2)

{

floatdist=0;

returnsqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));

}

voidfun(floatx1,floatx2,floaty1,floaty2,float&r,float&d,float&c,float&area)

{

r=distance(x1,x2,y1,y2);

d=2*r;

c=2*PI*r;

area=PI*r*r;

}

voidmain()

{

floatx1,x2,y1,y2,r,d,c,area;

cout<<"请输入圆心和圆上一点的坐标:

"<

cin>>x1>>y1>>x2>>y2;

fun(x1,x2,y1,y2,r,d,c,area);

cout<<"圆的半径为:

"<

"<

<<"圆的周长为:

"<

"<

}

4.参考答案

#include

doublefact(intn)

{

inti;

doublef=1;

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

f*=i;

return(f);

}

doublecom(intn,intk)

{

return(fact(n)/(fact(k)*fact(n-k)));

}

voidmain()

{

intn,k;

cout<<"请输入n和k的值(n>k):

"<

cin>>n>>k;

cout<<"C("<

}

5.参考答案

#include

#include

doubleex(doublex,doubleeps)

{

inti=1;

doublee=1,t=1;

while(fabs(t)>eps)

{

t=t*x/i;

e=e+t;

i++;

}

return(e);

}

voidmain()

{

doublex,eps;

cout<<"请输入x和eps的值:

"<

cin>>x>>eps;

cout<<"e**x"<

}

6.参考答案

#include

#include

intisprime(intx)

{

intk,i;

k=sqrt(x);

for(i=2;i<=k;i++)

if(x%i==0)break;

if(i>=k+1)return

(1);

elsereturn(0);

}

voidmain()

{

intn,k=0;

for(n=2;n<=1000;n++)

if(isprime(n))

{

cout<

k++;

if(k%5==0)cout<

}

cout<

}

7.参考答案

#include

voidprint(intn)

{

for(inti=1;i<=n/2;i++)

if(n%i==0)cout<

cout<

}

voidwanshu(intn)

{

inta,s=0;

a=n/2;

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

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

if(s==n)

{

cout<

print(n);

}

}

voidmain()

{

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

wanshu(i);

}

8.参考答案

#include

intmin(intx,inty)//重载函数1

{

return(x

x:

y);

}

floatmin(floatx,floaty)//重载函数2

{

return(x

x:

y);

}

doublemin(doublex,doubley)//重载函数3

{

return(x

x:

y);

}

voidmain()

{

intm=6,n=8;

cout<

"<

floata=4.8f,b=6.3f;

cout<

"<

doublex=7.87,y=9.24;

cout<

"<

}

9.参考答案

#include

inlinefloatmax(floatx,floaty,floatz)

{

floatt=x>y?

x:

y;

return(t>z?

t:

z);

}

voidmain()

{

floatm,n,k;

cout<<"请输入三个实数:

";

cin>>m>>n>>k;

cout<

"<

}

10.参考答案

#include

#include

floatfac(floatn=10)

{

floatf=1;

if(n<0)

{

cout<<"n<0,dataerror!

"<

exit(-1);

}

elseif(n==0||n==1)

f=1;

else

f=n*fac(n-1);

return(f);

}

voidmain()

{

floatn,y;

cout<<"inputarealnumber:

"<

cin>>n;

y=fac(n);

cout<

="<

y=fac();//没有参数缺省为10

cout<<10<<"!

="<

}

11.参考答案

#include

voidprdrev(intx)//反向输出

{

if(x>0)

{

cout<

prdrev(x/10);

}

}

voidmain()

{

intx;

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

";

cin>>x;

cout<<"反向输出:

";

prdrev(x);

cout<

}

12.参考答案

#include

intfib(intn)

{

intf;

if(n==1||n==2)

f=1;

else

f=fib(n-1)+fib(n-2);

returnf;

}

voidmain()

{

intn;

cout<<"请输入n的值:

"<

cin>>n;

cout<<"Fibonacci数列的前"<

"<

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

cout<

}

13.参考答案

#include

voidmain()

{

intx,n;

floatp(int,int);

cout<<"Pleaseinputn&x:

\n";

cin>>n>>x;

cout<<"n="<

cout<<"P("<

}

floatp(intn,intx)

{

floatf;

if(n==0)

f=1;

elseif(n==1)

f=x;

else

f=((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;

returnf;

}

14.参考答案

#include

#include

voiddec_to_bin(intnum,intbase);

voidmain()

{

intdecnum,base=2;

cout<<"请输入一个十进制数:

";

cin>>decnum;

cout<

cout<<"十进制"<

dec_to_bin(decnum,base);

cout<<"二进制"<

}

voiddec_to_bin(intnum,intbase)

{

if(num>0)

{

dec_to_bin(num/base,base);

cout<

}

}

15.参考答案

#include

voidPrintTriangle_1(intn)

{

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

{for(intj=1;j<=i;j++)

cout<<"*";

cout<

}

}

voidPrintTriangle_2(intn)

{

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

{

for(intj=1;j<=(n-i);j++)

cout<<"";//两个空格

for(intk=1;k<=(2*i-1);k++)

cout<<"*";//*前有一个空格

cout<

}

}

voidmain()

{

intn;

cout<<"请输入要打印的三角形图形的行数:

";

cin>>n;

PrintTriangle_1(n);

PrintTriangle_2(n);

}

16.参考答案

#include

doublef(doublex)

{

return(x*(x+1));

}

doubleintegral(doublea,doubleb,doublen)

{

doubleh=(b-a)/n,sum=0,i;

for(i=a;i

sum+=f(i);

return(sum*h);

}

voidmain()

{

doublen,sum,a,b;

cout<<"请输入积分的上限a、下限b及划分的矩形块数n:

"<

cin>>a>>b>>n;

sum=integral(a,b,n);

cout<<"积分值为:

"<

}

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

当前位置:首页 > 工程科技 > 冶金矿山地质

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

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