书签 分享 收藏 举报 版权申诉 / 51
上传文档赚钱

类型(完整版)C++与数据结构基础简明教程课后习题答案.docx

  • 上传人(卖家):刘殿科
  • 文档编号:5771788
  • 上传时间:2023-05-07
  • 格式:DOCX
  • 页数:51
  • 大小:27.49KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《(完整版)C++与数据结构基础简明教程课后习题答案.docx》由用户(刘殿科)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    完整版 C+ 数据结构 基础 简明 教程 课后 习题 答案
    资源描述:

    1、C+与数据结构基础简明教程课后习题答案1-7-1/输出一个数的 10 倍#include using namespace std; int main()1-7-2couta; coutresult=a*10endl; return 0;/输出两个数中的较小的#include using namespace std; int main()1-7-3double x,y,min;coutplease input two numbersxy;min=(xy?y:x);coutthe smaller is minendl; return 0;/输入半径计算周长和面积#include using nam

    2、espace std;int main()coutrad; double c,s; c=2*3.14*rad; s=3.14*rad*rad;cout周长是cendl; cout面积是sendl;return 0;1-7-4/将 10000 秒化成小时分钟秒#include using namespace std; int main()int hour,min,second; hour=10000/3600; min=(10000%3600)/60;second=10000-hour*3600-60*min; couthourhoursminminutessecondsecondsendl;

    3、return 0;1-7-5/将一个三位数倒叙输出#include using namespace std; int main()int num,num_bai,num_shi,num_ge; coutnum;num_bai=num/100; num_shi=(num-num_bai*100)/10;num_ge=num-num_bai*100-num_shi*10; coutnum_geendl; coutnum_shiendl; coutnum_baiendl;return 0;2-3/简单的输入输出#include using namespace std; int main()doubl

    4、e y,n;coutn;if (n0) y=n+1; if (n0) y=n*n;2-4if (n=0) y=0;coutthe result is: y; return 0;/输出学生学号和对应的成绩等级#include using namespace std; int main()double fenshu; int xuehao; char dengji; int i;for (i=1;i=10;i+)onerror:coutfenshu;if (fenshu=90&fenshu=80&fenshu=600&fenshu=0&fenshu60) dengji=D;if (fenshu0)

    5、cout100)couterror; goto onerror;coutthe id isiendl; coutthe score isdengjiendl;return 0;2-5/判断输入字符类别#include using namespace std; int main()char zifu; int ascii;coutzifu;ascii=zifu;if (ascii=48&ascii=57)cout=97&ascii=122)cout=65&ascii=90)cout大写字母n; goto end;cout其他字符; coutendl;end:return 0;2-6/求圆周率的近

    6、似值#include #include using namespace std; int main()int xishu=-1; double danshu=1.0; int i=1;double sifenzhipi=0; doxishu=xishu*(-1); danshu=1.0/(2*i-1);sifenzhipi=sifenzhipi+xishu*danshu;i+;while(danshu=0.000001); coutsetprecision(15)sifenzhipi*4endl; return 0;2-7/输出斐波那契数列前 40 个数,以 8*5 的格式输出#include

    7、 #include using namespace std; int main()int b=2;int feibo1=0; int feibo2=1;coutsetw(9)0setw(9)1; for(int i=1;i=38;i+)int a=feibo2; feibo2=feibo1+feibo2; feibo1=a; coutsetw(9)feibo2; b=b+1;if(b%8=0) coutendl;return 0;2-8/统计输入的元音字母个数#include using namespace std;int main()char zimu; int a,e,i,o,u;a=e=

    8、u=i=o=0; begin:cinzimu; switch(zimu)case a :a+;break; case e :e+;break; case i :i+;break; case o :o+;break; case u :u+;break; case # :goto end;goto begin; end:coutaendleendliendloendluendla+e+i+o+u;return 0;2-10/ 计 算 5!+6!+7! #include using namespace std; int main()2-11int i,j;int sum=0;for (i=5;i=7

    9、;i+)int jiecheng=1;for (j=1;j=i;j+) jiecheng=jiecheng*j; sum=sum+jiecheng;coutsum; return 0;/从 2 开始 100 个素数#include using namespace std; int main()int num=1; int sushu=0; start:; num+;for (int i=2;i=num;i+)if(num%i=0) break;if (i=num)coutnumendl; sushu+=1;2-12if(sushu!=100) goto start; return 0;/百钱买

    10、百鸡问题#include using namespace std; int main()int x,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 xtytzendl;return 0;2-13#include using namespace std; int main()int a,b,c,d,e; c=0;cina;cout输入aendl该数的三次方是a个连续奇数; b=1;e=a*a*a; while (c!=e)d=b; c=0;for (

    11、int i=1;i=a;i+)c=c+d; d=d+2;b=b+2;/coutb-2; int f=b-4;for (int j=1;j=a;j+)f=f+2; coutf ;cout的和n;return 0;2-14/输出四方*形状#include using namespace std; int main()int i,j;for (i=1;i=9;i+)j=1;for(j=1;j=9;j+)3-1-1cout=6&i+j=14&j-i=4&i-j=4) cout*; else cout ;/向数组 a 中输入 10 个整数,求其中的最大值,最小值和 10 个数的算术平均值#include

    12、 using namespace std; int main()int a10;for(int i=0;iai;int max=a0,min=a0,sum=a0; for(int j=0;jaj?max:aj);min=(minaj?min:aj);double ave=sum/10.00; coutmaxendlminendlaveendl; return 0;3-1-2#include using namespace std; int main()int score10;int sum=0,a=0,b=0; for(int i=0;iscorei; sum=sum+scorei;doubl

    13、e ave=sum/10.0; for(int j=0;jave) a+; if(scorej60) b+;l;3-3-1cout成绩大于平均值的人数是aendl成绩小于 60 的人数bendreturn 0;#include using namespace std; int main()int a10,sum=0,min,max; double ave;int *ptoa=a;for (int i=0;i*(a+i); sum+=*(a+i);min=*(a);max=*(a);for (int j=1;j=9;j+)min=(min*(a+j)?max:*(a+j);3-3-2coutma

    14、xendlminendl; ave=sum/10.0; coutaveendl;return 0;#include using namespace std; int main()int a10,sum=0,j=0,c=0;/定义数组 a,sum 是各学生成绩之和,j 是小于 60 的个数,c 是大于平均值的个数double ave=0;/定义平均值int *ptoa=a;/使用指针for (int i=0;i*(ptoa+i); sum+=*(ptoa+i); if (*(ptoa+i)60)j+;ave=sum/10.0;/计算平均值/coutaveendl;/可以输出平均值for (int

    15、 k=0;kave)c+;3-3-3coutcendlj; return 0;#include using namespace std; int main()char string100; cinstring;int i=0,an=0,in=0; cout您输入的字符串; while (stringi!=0)if(stringi=a) an+;if(stringi=i) in+; coutstringi;i+;coutendlanendlinendl; return 0;3-3-3a#include using namespace std; int main()char a100;/定义存放字

    16、符串的数组char *ptoa=a;/使用指针int i=0,an=0,in=0;/an,in 分别为 a,i 的个数cina;while (*(ptoa+i)!=0)/a【i】cout*(ptoa+i);switch (*(ptoa+i)/判断 i+;case a : an+;break; case i : in+;break;3-3-4coutendlanendlin; return 0;#include using namespace std; int main()int a33;for (int i=0;i=2;i+)for(int j=0;j*(*(a+i)+j);cout*(*(a

    17、+0)+0)+*(*(a+1)+1)+*(*(a+2)+2)endl; cout*(*(a+0)+2)+*(*(a+1)+1)+*(*(a+2)+0)endl; return 0;3-3-5v1#include using namespace std; int main()int a11=2,4,5,8,12,14,16,18,20,30,0,b,i,m,j;cinb; a10=b;if (b30)goto end2;for(i=0;ib)end:;m=i+1; goto end;for (j=10;j=m+1;j-)aj=aj-1;end2:;am=b;for (int k=0;k=10;k

    18、+) coutakendl;return 0;3-3-5v2#include using namespace std; int main()int i,j,temp;int a11=2,4,5,8,12,14,16,18,20,30;cina10;for (i=0;i=10;i+)for(j=0;jaj+1)temp=aj+1; aj+1=aj; aj=temp;for (int k=0;k=10;k+) coutak ; coutn;return 0;3-3-5v3#include using namespace std; int main()int a11=2,4,5,8,12,14,16

    19、,18,20,30,num,i,j;coutnum;if (numa9)a10=num;elsefor (i=0;inum)for(j=9;j=i;j-)aj+1=aj;ai=num; break;for (i=0;i=10;i+)coutai ;return 0;3-3-5final #include void main()int a11=2,4,5,8,12,14,16,18,20,30,b,i=0,j=10;cinb; while(aib&ii)aj=aj-1; j-;ai=b;cout输入插入后的结果:;3-3-6for(i=0;i11;i+)coutai ; coutendl;#in

    20、clude using namespace std; int main()int a53,s5=0,0,0,0,0,temp;for (int i=0;i=4;i+)cout请输入第i+1行的数据endl; for (int j=0;j*(*(a+i)+j);*(s+i)+=*(*(a+i)+j);/*/注释掉的部分可以输出每行数据之和for (int k=0;k=4;k+)cout*(s+k)endl;*/for (int m=0;m=4;m+)for (int n=0;n*(s+n+1)temp=*(s+n+1);*(s+n+1)=*(s+n);*(s+n)=temp;for (int l

    21、=0;l=4;l+)coutendl*(s+l);4-3coutendl; system(pause); return 0;#include using namespace std; int fun1(int x,int y); int fun2(int x,int y); int fun3(int x,int y); int fun4(int x,int y);int main()int a,b;coutab;cout两个数的和的平方是fun1(a,b)endl; cout两个数的平方和是fun2(a,b)endl; cout两个数的差的平方是fun3(a,b)endl; cout两个数平方

    22、的差是fun4(a,b)endl;return 0;int fun1(int x,int y)int z=(x+y)*(x+y); return z;int fun2(int x,int y)int z=x*x+y*y; return z;int fun3(int x,int y)int z=(x-y)*(x-y); return z;int fun4(int x,int y)4-4int z=x*x-y*y; return z;#include using namespace std; double jc(int x);int sm(int x);int main()int m,n,s2;

    23、double s1; cinmn;s1=jc(m)/(jc(n)*jc(m-n); s2=sm(m)-sm(n); couts1endls2; return 0;double jc(int x)double s=1;for (int i=1;i=x;i+) s*=i; return s;int sm(int x)4-6int s=0;for (int i=1;i=x;i+) s+=i; return s;#include #include using namespace std; double jxf(int n); double txf(int n); double f(double x);

    24、/const pi=3.1415927; int main()int n;double y1,y2;cinn; y1=jxf(n); y2=txf(n);couty1endly2; return 0;double jxf(int n)double sum=0,s;for (int i=0;i=n-1;i+)s=(i*3.14)/n; sum+=(3.14/n)*f(s);return sum;double txf(int n)double sum=0,s1,s2;for (int i=0;i=n-1;i+)s1=i*3.14/n; s2=(i+1)*3.14/n; sum+=3.14/n*(f

    25、(s1)+f(s2);sum/=2.0; return sum;double f(double x)4-6v1double y; y=sin(x)+cos(x); return y;#include #include using namespace std; double jxf(int n); double txf(int n); double f(double x); const pi=3.1415927; int main()int n;double y1,y2; cinn; y1=jxf(n); y2=txf(n);if (abs(y1-2)abs(y2-2) cout矩形法;else

    26、 cout梯形法;return 0;double jxf(int n)double sum=0;for (int i=0;i=n-1;i+) sum+=pi/n*f(i*pi/n); return sum;double txf(int n)double sum=0;for (int i=0;i=n-1;i+) sum+=pi/n*(f(i*pi/n)+f(i+1)*pi/n); sum/=2;return sum;double f(double x)double y; y=sin(x)+cos(x); return y;4-6v2error#include #include using nam

    27、espace std; double jxf(int n); double txf(int n); double f(double x); const pi=3.1415927; int main()int n;double y1,y2; cinn; y1=jxf(n); y2=txf(n);if (abs(y1-2)abs(y2-2) cout矩形法; else cout梯形法;return 0;double jxf(int n)double sum=0;for (int i=0;i=n-1;i+) sum+=pi/n*f(i*pi/n); return sum;double txf(int

    28、 n)double sum=0;for (int i=0;i=n-1;i+) sum+=pi/n*(f(i*pi/n)+f(i+1)*pi/n); sum/=2;return sum;double f(double x)4-7double y; y=sin(x)+cos(x); return y;#include using namespace std; int my(int x,int y); int mb(int x,int y);int main()int a,b,max,min; cinab; max=my(a,b);min=mb(a,b); coutmaxendlminy?y:x);

    29、i=1;i-)if (x%i=0&y%i=0) return i;int mb(int x,int y)4-11for (int i=(xy?x:y);i=1;i+)if (i%x=0&i%y=0) return i;#include using namespace std;void delchar(char *s1,char s2); int main()char s1100; char s2; cins1s2;delchar(s1,s2); return 0;void delchar(char *s1,char s2)for (int i=1;*(s1+i)!=0;i+)if (*(s1+

    30、i)=s2)for (int j=0;*(s1+i+j)!=0;j+)*(s1+i+j)=*(s1+i+j+1);couts1;4-12#include #include using namespace std;int check(int a,int b,int c);double s(double a,double b,double c);int main()double a,b,c; cinabc;if (check(a,b,c) couts(a,b,c); else coutc&abs(a-b)c) return 1; else return 0;double s(double a,do

    31、uble b,double c)4-13double p=(a+b+c)/2;double area=sqrt(p*(p-a)*(p-b)*(p-c); return area;#include #include using namespace std; fun (int n,int k);pow10 (int x);int main()int n,k; cinnk;coutfun(n,k)n|k1) return 0; elseint s; s=n/pow10(k-1); s=s%10;return s;int pow10 (int x)4-14int s=1;for (int i=1;i=x;i+) s*=10; return s;#include using namespace std;double ave(int p4,int i); int main()int a54;for (int i=0;i=4;i+)for (int j=0;jaij;for (i=0;i=4;i+)coutave(a,i)endl; system(pause);return 0;double ave(int p4,i

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:(完整版)C++与数据结构基础简明教程课后习题答案.docx
    链接地址:https://www.163wenku.com/p-5771788.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库