C++简明教程天津大学出版社课后习题答案.docx
- 文档编号:18179293
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:43
- 大小:22.30KB
C++简明教程天津大学出版社课后习题答案.docx
《C++简明教程天津大学出版社课后习题答案.docx》由会员分享,可在线阅读,更多相关《C++简明教程天津大学出版社课后习题答案.docx(43页珍藏版)》请在冰豆网上搜索。
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++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 简明 教程 天津大学 出版社 课后 习题 答案