C++与数据结构基础简明教程课后习题答案.docx
- 文档编号:10375351
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:45
- 大小:22.27KB
C++与数据结构基础简明教程课后习题答案.docx
《C++与数据结构基础简明教程课后习题答案.docx》由会员分享,可在线阅读,更多相关《C++与数据结构基础简明教程课后习题答案.docx(45页珍藏版)》请在冰豆网上搜索。
C++与数据结构基础简明教程课后习题答案
C++与数据结构基础简明教程课后习题答案
1-7-1
//输出一个数的10倍
#inelude
usingnamespacestd;
intmain()
{
cout<<"Pleaseinputaninterger:
\n";
inta;
cin>>a;
cout<<"result="< return0; } 1-7-2 //输出两个数中的较小的 #include usingnamespacestd; intmain() { doublex,y,min; cout<<"pleaseinputtwonumbers"< min=(x>y? y: x); cout<<"thesmalleris"<<''< }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<<"面积是"< } 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++) { studentscore\n"; dengji='A'; dengji='B'; dengji='C'; dengji='D'; onerror: cout<<"pleaseinputcin>>fenshu; if(fenshu>=90&&fenshu<=100) if(fenshu>=80&&fenshu<90) if(fenshu>=600&&fenshu<80) if(fenshu>=0&&fenshu<60) 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; 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 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< } 2-10 //计算5! +6! +7! 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< } 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++) cout<< if(x+y+z==100&&5*x+3*y+z/3==100&&z%3==0)x<<'\t'< } } return0; } 2-13 usingnamespacestd;intmain() { inta,b,c,d,e; c=0; cin>>a; cout<<"输入"< 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++) { cout<<'*'; 10个数的算术平均值 if(i+j>=6&&i+j<=14&&j-i<=4&&i-j<=4) elsecout<<''; } cout< } return0; } 3-1-1 //向数组a中输入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< } 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< return0; } 3-3-2 #include intmain() { //定义数组a,sum是各学生成绩之和, inta[10],sum=0,j=0,c=0; j是小于60的个数,c是大于平均值的个数 doubleave=0; //定义平均值 //使用指针 //输入并算和,统计小于60的 //计算平均值 //可以输出平均值 int*ptoa=a; for(inti=0;i<=9;i++) { cin>>*(ptoa+i); sum+=*(ptoa+i); if(*(ptoa+i)<60) { j++; } } ave=sum/10.0; //cout< 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 intmain() chara[100]; //定义存放字符串的数组 //使用指针 inti=0,an=0,in=0; //an,in分别为a i的个数 char*ptoa=a; 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)< } 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+ 数据结构 基础 简明 教程 课后 习题 答案