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

上传人(卖家):刘殿科 文档编号:5771788 上传时间:2023-05-07 格式:DOCX 页数:51 大小:27.49KB
下载 相关 举报
(完整版)C++与数据结构基础简明教程课后习题答案.docx_第1页
第1页 / 共51页
(完整版)C++与数据结构基础简明教程课后习题答案.docx_第2页
第2页 / 共51页
(完整版)C++与数据结构基础简明教程课后习题答案.docx_第3页
第3页 / 共51页
(完整版)C++与数据结构基础简明教程课后习题答案.docx_第4页
第4页 / 共51页
(完整版)C++与数据结构基础简明教程课后习题答案.docx_第5页
第5页 / 共51页
点击查看更多>>
资源描述

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

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

当前位置:首页 > 办公、行业 > 待归类文档
版权提示 | 免责声明

1,本文((完整版)C++与数据结构基础简明教程课后习题答案.docx)为本站会员(刘殿科)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|