C++简明教程天津大学出版社课后习题答案.docx

上传人:b****2 文档编号:2590464 上传时间:2023-05-04 格式:DOCX 页数:43 大小:22.30KB
下载 相关 举报
C++简明教程天津大学出版社课后习题答案.docx_第1页
第1页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第2页
第2页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第3页
第3页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第4页
第4页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第5页
第5页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第6页
第6页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第7页
第7页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第8页
第8页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第9页
第9页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第10页
第10页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第11页
第11页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第12页
第12页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第13页
第13页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第14页
第14页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第15页
第15页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第16页
第16页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第17页
第17页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第18页
第18页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第19页
第19页 / 共43页
C++简明教程天津大学出版社课后习题答案.docx_第20页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++简明教程天津大学出版社课后习题答案.docx

《C++简明教程天津大学出版社课后习题答案.docx》由会员分享,可在线阅读,更多相关《C++简明教程天津大学出版社课后习题答案.docx(43页珍藏版)》请在冰点文库上搜索。

C++简明教程天津大学出版社课后习题答案.docx

C++简明教程天津大学出版社课后习题答案

1-7-1

//输出一个数的10倍

#include

usingnamespacestd;

intmain()

{cout<<"Pleaseinputaninterger:

\n";

inta;

cin>>a;

cout<<"result="<

return0;}

1-7-2

//输出两个数中的较小的

#include

usingnamespacestd;

intmain()

{doublex,y,min;

cout<<"pleaseinputtwonumbers"<

cin>>x>>y;

min=(x>y?

y:

x);

cout<<"thesmalleris"<<''<

return0;}

1-7-3

//输入半径计算周长和面积

#include

usingnamespacestd;

intmain()

{cout<<"请输入半径\n";

doublerad;

cin>>rad;

doublec,s;

c=2*3.14*rad;

s=3.14*rad*rad;

cout<<"周长是"<

cout<<"面积是"<

return0;}

1-7-4

//将10000秒化成小时分钟秒

#include

usingnamespacestd;

intmain()

{inthour,min,second;

hour=10000/3600;

min=(10000%3600)/60;

second=10000-hour*3600-60*min;

cout<

return0;}

1-7-5

//将一个三位数倒叙输出

#include

usingnamespacestd;

intmain()

{

intnum,num_bai,num_shi,num_ge;

cout<<"请输入一个三位数";

cin>>num;

num_bai=num/100;

num_shi=(num-num_bai*100)/10;

num_ge=num-num_bai*100-num_shi*10;

cout<

cout<

cout<

return0;

}

2-3

//简单的输入输出

#include

usingnamespacestd;

intmain()

{

doubley,n;

cout<<"pleaseinputanumber\n";

cin>>n;

if(n>0)y=n+1;

if(n<0)y=n*n;

if(n==0)y=0;

cout<<"theresultis:

"<<''<

return0;

}

2-4

//输出学生学号和对应的成绩等级

#include

usingnamespacestd;

intmain()

{

doublefenshu;

intxuehao;

chardengji;

inti;

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

{

onerror:

cout<<"pleaseinputstudentscore\n";

cin>>fenshu;

if(fenshu>=90&&fenshu<=100)dengji='A';

if(fenshu>=80&&fenshu<90)dengji='B';

if(fenshu>=600&&fenshu<80)dengji='C';

if(fenshu>=0&&fenshu<60)dengji='D';

if(fenshu<0)

{cout<<"error";

gotoonerror;}

if(fenshu>100)

{cout<<"error";

gotoonerror;}

cout<<"theidis"<

cout<<"thescoreis"<

}

return0;

}

2-5

//判断输入字符类别

#include

usingnamespacestd;

intmain()

{

charzifu;

intascii;

cout<<"pleaseinputacharacteristic\n";

cin>>zifu;

ascii=zifu;

if(ascii>=48&&ascii<=57)

{cout<<"数字\n";

gotoend;}

if(ascii>=97&&ascii<=122)

{cout<<"小写字母\n";

gotoend;}

if(ascii>=65&&ascii<=90)

{cout<<"大写字母\n";

gotoend;}

cout<<"其他字符";

cout<

end:

return0;

}

2-6

//求圆周率的近似值

#include

#include

usingnamespacestd;

intmain()

{

intxishu=-1;

doubledanshu=1.0;

inti=1;

doublesifenzhipi=0;

do

{xishu=xishu*(-1);

danshu=1.0/(2*i-1);

sifenzhipi=sifenzhipi+xishu*danshu;

i++;

}

while(danshu>=0.000001);

cout<

return0;

}

2-7

//输出斐波那契数列前40个数,以8*5的格式输出

#include

#include

usingnamespacestd;

intmain()

{intb=2;

intfeibo1=0;

intfeibo2=1;

cout<

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

{inta=feibo2;

feibo2=feibo1+feibo2;

feibo1=a;

cout<

b=b+1;

if(b%8==0)cout<

return0;

}

2-8

//统计输入的元音字母个数

#include

usingnamespacestd;

intmain()

{charzimu;

inta,e,i,o,u;

a=e=u=i=o=0;

begin:

cin>>zimu;

switch(zimu)

{case'a':

a++;break;

case'e':

e++;break;

case'i':

i++;break;

case'o':

o++;break;

case'u':

u++;break;

case'#':

gotoend;

}

gotobegin;

end:

cout<

return0;

}

2-10

//计算5!

+6!

+7!

#include

usingnamespacestd;

intmain()

{

inti,j;

intsum=0;

for(i=5;i<=7;i++)

{

intjiecheng=1;

for(j=1;j<=i;j++)jiecheng=jiecheng*j;

sum=sum+jiecheng;

}

cout<

return0;

}

2-11

//从2开始100个素数

#include

usingnamespacestd;

intmain()

{

intnum=1;

intsushu=0;

start:

;

num++;

for(inti=2;i<=num;i++)

{

if(num%i==0)break;

}

if(i==num)

{

cout<

sushu+=1;

}

if(sushu!

=100)gotostart;

return0;

}

2-12

//百钱买百鸡问题

#include

usingnamespacestd;

intmain()

{

intx,y,z;

for(x=0;x<=100;x++)

{

for(y=0;y<=100;y++)

{

for(z=0;z<=100;z++)

if(x+y+z==100&&5*x+3*y+z/3==100&&z%3==0)cout<

}

}

return0;

}

2-13

#include

usingnamespacestd;

intmain()

{

inta,b,c,d,e;

c=0;

cin>>a;

cout<<"输入"<

b=1;

e=a*a*a;

while(c!

=e)

{

d=b;

c=0;

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

{

c=c+d;

d=d+2;

}

b=b+2;

}

//cout<

intf=b-4;

for(intj=1;j<=a;j++)

{

f=f+2;

cout<

}

cout<<"的和\n";

return0;

}

2-14

//输出四方*形状

#include

usingnamespacestd;

intmain()

{

inti,j;

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

{

j=1;

for(j=1;j<=9;j++)

{

if(i+j>=6&&i+j<=14&&j-i<=4&&i-j<=4)cout<<'*';

elsecout<<'';

}

cout<

}

return0;

}

3-1-1

//向数组a中输入10个整数,求其中的最大值,最小值和10个数的算术平均值

#include

usingnamespacestd;

intmain()

{

inta[10];

for(inti=0;i<=9;i++)

cin>>a[i];

intmax=a[0],min=a[0],sum=a[0];

for(intj=0;j<=9;j++)

{

sum=sum+a[j];

max=(max>a[j]?

max:

a[j]);

min=(min

min:

a[j]);

}

doubleave=sum/10.00;

cout<

return0;

}

3-1-2

#include

usingnamespacestd;

intmain()

{

intscore[10];

intsum=0,a=0,b=0;

for(inti=0;i<=9;i++)

{

cin>>score[i];

sum=sum+score[i];

}

doubleave=sum/10.0;

for(intj=0;j<=9;j++)

{

if(score[j]>ave)a++;

if(score[j]<60)b++;

}

cout<<"成绩大于平均值的人数是"<

return0;

}

3-3-1

#include

usingnamespacestd;

intmain()

{

inta[10],sum=0,min,max;

doubleave;

int*ptoa=a;

for(inti=0;i<=9;i++)

{

cin>>*(a+i);

sum+=*(a+i);

}

min=*(a);

max=*(a);

for(intj=1;j<=9;j++)

{

min=(min<*(a+j)?

min:

*(a+j));

max=(max>*(a+j)?

max:

*(a+j));

}

cout<

ave=sum/10.0;

cout<

return0;

}

3-3-2

#include

usingnamespacestd;

intmain()

{

inta[10],sum=0,j=0,c=0;//定义数组a,sum是各学生成绩之和,j是小于60的个数,c是大于平均值的个数

doubleave=0;//定义平均值

int*ptoa=a;//使用指针

for(inti=0;i<=9;i++)//输入并算和,统计小于60的

{

cin>>*(ptoa+i);

sum+=*(ptoa+i);

if(*(ptoa+i)<60)

{

j++;

}

}

ave=sum/10.0;//计算平均值

//cout<

for(intk=0;k<=9;k++)//计算大于平均值的

{

if(*(ptoa+k)>ave)

{c++;}

}

cout<

return0;

}

3-3-3

#include

usingnamespacestd;

intmain()

{

charstring[100];

cin>>string;

inti=0,an=0,in=0;

cout<<"您输入的字符串";

while(string[i]!

='\0')

{

if(string[i]=='a')an++;

if(string[i]=='i')in++;

cout<

i++;

}

cout<

return0;

}

3-3-3a

#include

usingnamespacestd;

intmain()

{

chara[100];//定义存放字符串的数组

char*ptoa=a;//使用指针

inti=0,an=0,in=0;//an,in分别为a,i的个数

cin>>a;

while(*(ptoa+i)!

='\0')//a【i】

{

cout<<*(ptoa+i);

switch(*(ptoa+i))//判断

{

case'a':

an++;break;

case'i':

in++;break;

}

i++;

}

cout<

return0;

}

3-3-4

#include

usingnamespacestd;

intmain()

{

inta[3][3];

for(inti=0;i<=2;i++)

{

for(intj=0;j<=2;j++)

{

cin>>*(*(a+i)+j);

}

}

cout<<*(*(a+0)+0)+*(*(a+1)+1)+*(*(a+2)+2)<

cout<<*(*(a+0)+2)+*(*(a+1)+1)+*(*(a+2)+0)<

return0;

}

3-3-5v1

#include

usingnamespacestd;

intmain()

{

inta[11]={2,4,5,8,12,14,16,18,20,30,0},b,i,m,j;

cin>>b;

a[10]=b;

if(b<2)

{m=0;

gotoend;}

if(b>30)

{gotoend2;}

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

{if(a[i+1]>b)

{m=i+1;

gotoend;}

}

end:

;

for(j=10;j>=m+1;j--)

{a[j]=a[j-1];}

a[m]=b;

end2:

;

for(intk=0;k<=10;k++)

cout<

return0;

}

3-3-5v2

#include

usingnamespacestd;

intmain()

{

inti,j,temp;

inta[11]={2,4,5,8,12,14,16,18,20,30};

cin>>a[10];

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

{for(j=0;j<=10-i-1;j++)

{

if(a[j]>a[j+1])

{temp=a[j+1];

a[j+1]=a[j];

a[j]=temp;}

}

}

for(intk=0;k<=10;k++)cout<

cout<<'\n';

return0;

}

3-3-5v3

#include

usingnamespacestd;

intmain()

{

inta[11]={2,4,5,8,12,14,16,18,20,30},num,i,j;

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

cin>>num;

if(num>a[9])

{a[10]=num;}

else

{for(i=0;i<=11;i++)

{if(a[i]>num)

{for(j=9;j>=i;j--)

{a[j+1]=a[j];}

a[i]=num;

break;

}

}

}

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

{cout<

}

return0;

}

3-3-5final

#include

voidmain(){

inta[11]={2,4,5,8,12,14,16,18,20,30},b,i=0,j=10;

cin>>b;

while(a[i]

while(j>i){

a[j]=a[j-1];

j--;

}

a[i]=b;

cout<<"输入插入后的结果:

";

for(i=0;i<11;i++)cout<

cout<

}

3-3-6

#include

usingnamespacestd;

intmain()

{inta[5][3],s[5]={0,0,0,0,0},temp;

for(inti=0;i<=4;i++)

{cout<<"请输入第"<

for(intj=0;j<=2;j++)

{cin>>*(*(a+i)+j);

*(s+i)+=*(*(a+i)+j);}

}

/*

//注释掉的部分可以输出每行数据之和

for(intk=0;k<=4;k++)

{cout<<*(s+k)<

*/

for(intm=0;m<=4;m++)

{for(intn=0;n<=4-m-1;n++)

if(*(s+n)>*(s+n+1))

{temp=*(s+n+1);

*(s+n+1)=*(s+n);

*(s+n)=temp;}

}

for(intl=0;l<=4;l++)

{cout<

cout<

system("pause");

return0;

}

4-3

#include

usingnamespacestd;

intfun1(intx,inty);

intfun2(intx,inty);

intfun3(intx,inty);

intfun4(intx,inty);

intmain()

{inta,b;

cout<<"输入两个数";

cin>>a>>b;

cout<<"两个数的和的平方是"<

cout<<"两个数的平方和是"<

cout<<"两个数的差的平方是"<

cout<<"两个数平方的差是"<

return0;

}

intfun1(intx,inty)

{intz=(x+y)*(x+y);

returnz;

}

intfun2(intx,inty)

{intz=x*x+y*y;

returnz;

}

intfun3(intx,inty)

{intz=(x-y)*(x-y);

returnz;}

intfun4

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

当前位置:首页 > 解决方案 > 学习计划

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

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