C语言程序设计第三版谭浩强课后习题答案.docx
《C语言程序设计第三版谭浩强课后习题答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第三版谭浩强课后习题答案.docx(16页珍藏版)》请在咨信网上搜索。
C语言程序设计第三版谭浩强课后习题答案完整版 C语言程序设计第三版谭浩强课后习题答案完整版 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(C语言程序设计第三版谭浩强课后习题答案完整版)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为C语言程序设计第三版谭浩强课后习题答案完整版的全部内容。 1。5 #include 〈stdio.h> void main() { printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n”); printf(” Very good! \n”); printf(”* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n”); } 1.6 #include 〈stdio.h〉 void main() { float max(float x,float y,float z); float a,b,c; printf(”请分别输入a,b,c:\n"); scanf(”%f,%f,%f”,&a,&b,&c); printf("max=%f",max(a,b,c)); } float max(float x,float y,float z) { float m,n; m=x>y? x: y; n=m>z? m: z; return(n); } 3。6 #include <stdio.h〉 void main() { char c1='a’,c2=’b’,c3=’c’,c4=’\101',c5='\116’; printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3); printf(“\t\b%c %c\n”,c4,c5); } 3。9.1 #include <stdio.h〉 void main() { double x=2。5,y=4.7,z; int a=7; z=x+a%3*(int)(x+y)%2/4; printf(”该表达式的值为:%f",z); } 3.9.2 #include 〈stdio。h> void main() { int a=2,b=3; float x=3。5,y=2。5,z; z=(float)(a+b)/2+(int)x%(int)y; printf(”该表达式的值为:%f”,z); } 4。5 #include 〈stdio。h〉 void main() { int a=5,b=7; double x=67.8564,y=-789.124; char c='A’; long n=1234567; unsigned u=65535; printf("%d%d\n",a,b); printf("%3d%3d\n",a,b); printf("%f,%f\n”,x,y); printf("%—10f,%—10f\n”,x,y); printf("%8。2f,%8。2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y); printf(”%e,%10。2e\n”,x,y); printf(”%c,%d,%o,%x\n”,n,n,n); printf("%ld,%lo,%x\n”,n,n,n); printf("%u,%o,%x,%d\n”,u,u,u,u); printf("%s,%5.3s\n",”COMPUTER”,"COMPUTER”); } 4.6 #include 〈stdio.h> void main() { int a,b; float x,y; char c1,c2; scanf(”a=%d b=%d”,&a,&b); scanf(” %f %e”,&x,&y); scanf(" %c %c”,&c1,&c2); } 4.7 #include<stdio。h〉 void main() { int a,b; float x,y,z; char c1,c2; scanf(”%5d%5d”,&a,&b); scanf(”%f%f%*f%f",&x,&y,&z); scanf(”%c%c",&c1,&c2); } 4.8 #include <stdio.h〉 #define pi 3.14 void main() { float r,h,l,s1,s2,v1,v2; printf(”请输入r,h的值:\n”); scanf(”%f,%f”,&r,&h); l=2*pi*r; s1=pi*r*r; s2=4*s1; v1=4/3*pi*r*r*r; v2=s1*h; printf("圆周长为:%.2f\n”,l); printf(”圆面积为:%。2f\n”,s1); printf(”圆球表面积为:%.2f\n",s2); printf("圆球体积为:%.2f\n",v1); printf(”圆柱体积为:%.2f\n”,v2); } 5.5 #include 〈stdio。h〉 void main() { float x,y; printf("请输入x的值:\n"); scanf(”%f”,&x); if(x〈1) y=x; else if(x>=1&&x〈10) y=2*x-1; else y=3*x-11; printf("x与y的值分别为:\n%f,%f",x,y); printf(”\n"); } 5.6 #include 〈stdio.h〉 void main() { float b; int a; printf(”请输入该同学的成绩:\n"); scanf("%f”,&b); while (b<0||b>100) { printf("输入有误,请重新输入:\n”); scanf(”%f”,&b); } a= int(b/10); if(a〈6) a=5; switch(a) { case 10: case 9: printf(”该同学为等级:A");break; case 8: printf(”该同学为等级:B”);break; case 7: printf(”该同学为等级:C");break; case 6: printf("该同学为等级:D");break; case 5: printf("该同学为等级:E”);break; } } #include 〈stdio.h> #include <math。h> void main() { int x,y,m,n,i=1,j=0; printf(”请给出一个不多于5位的正整数:\n"); scanf(”%d",&x); while(x〈=0||x>=100000) { printf(”输入有误\n请给出一个不多于5位的正整数:\n"); scanf("%d",&x); } for(n=0;n〈5;n++) { y=int(x/pow(10,n)); if(y>0&&y<10) m=n+1; } printf(”它是%d位数\n",m); printf(”从高到低位依次为\n"); do { printf(” %d",int(x/pow(10,m-i))%10); i++; } while(m—i〉=0); printf("\n逆序输出为\n"); do { printf(” %d”,int(x/pow(10,j))%10); j++; } while(j—m<0); printf(”\n”); } 6.1输入两个正整数m和n,求其最大公约数和最小公倍数. #include <stdio。h〉 void main() { int m,n,i,j; printf("请分别输入m,n的值:\n”); scanf("%d,%d”,&m,&n); for(i=1;i〈=m;i++) { if(m%i==0&&n%i==0) j=i; } printf("这两个整数的最大公约数是:%d”,j); for(i=j;;i++) { if(i%m==0&&i%n==0) break; } printf("这两个整数的最小公倍数数是:%d”,i); printf(”\n"); } 6.2 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 #include <stdio。h> void main() { int i=0,j=0,k=0,x=0; char c; printf(”请输入一行字符串:\n”); while((c=getchar())!=’\n') { if(c〉=’A’&&c〈=’Z’||c〉='a'&&c〈='z') i++; else if(c==' ') j++; else if(c〉='0’&&c〈='9') k++; else x++; } printf("英文字母、空格、数字、其他字符的个数分别为:%d,%d,%d,%d,",i,j,k,x); printf("\n"); } 6。3求Sn=a+aa+aaa+…+aa…a之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n由键盘输入。 #include〈stdio.h〉 #include〈math。h> void main() { int i,n; int sum=0,s=0; printf(”请输入n的值:\n”); scanf("%d",&n); while(n〈1) { printf("请重新输入n的值:\n"); scanf(”%d”,&n); } for(i=0;i<n;i++) { s+=pow(10,i); sum+=2*s; } printf(”sum=%d\n",sum); } 6。8 题目:有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20项之和. #include〈stdio。h〉 void main() { int a=1,b=1,i; float sum=0。0; for(i=0;i〈20;i++) { a=a+b; b=a—b; sum+=(float)a/b; } printf("这个数列前二十项之和为:\n%f",sum); printf("\n”); } 7.2 #include<stdio。h〉 void main() { int i,j,t,a[10]; printf("请输入十个整数:\n"); for(i=0;i〈10;i++) { scanf("%d”,&a[i]); } for(j=1;j〈10;j++) for(i=0;i〈10—j;i++) if(a[i]<a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf(”这十位数从大到小排列为:\n”); for(i=0;i〈10;i++) printf(”%5d",a[i]); printf("\n"); } 7。3 #include〈stdio。h〉 void main() { int i,j,m,n,a[3][3]; printf("请输入3*3的整形矩阵\n”); for(i=0;i<3;i++) for(j=0;j〈3;j++) scanf(”%d",&a[i][j]); m=a[0][0]+a[1][1]+a[2][2]; n=a[0][2]+a[1][1]+a[2][0]; printf("3*3的整形矩阵对角线元素之和为:\n”); printf(”%d,%d”,m,n); } 7。4 #include〈stdio.h〉 void main() { static int a[10]={1,5,6,10,20,24,55,58,64}; int i,t; printf("请输入一个数:\n”); scanf(”%d",&a[9]); for(i=9;i〉0;i——) if(a[i]〈a[i-1]) { t=a[i-1]; a[i—1]=a[i]; a[i]=t; } for(i=0;i<10;i++) printf(”%4d",a[i]); printf(”\n”); } 7.8 #include〈stdio。h> void main() { int a[5][5],b[5],c[5],d[5][5]; int i,j,k,l; printf(”请输入5*5的整型数组\n"); for(i=0;i<5;i++) for(j=0;j〈5;j++) scanf("%d”,&d[i][j]); for(i=0;i〈5;i++) for(j=0;j<5;j++) a[i][j]=d[i][j]; for(i=0,k=0;i〈5;i++,k++) for(j=0;j<4;j++) { if(a[i][j]>=a[i][j+1]) b[k]=a[i][j+1]=a[i][j]; else b[k]=a[i][j+1]; } for(j=0,l=0;j〈5;j++,l++) for(i=0;i〈4;i++) { if(a[i][j]〈=a[i+1][j]) c[l]=a[i+1][j]=a[i][j]; else c[l]=a[i+1][j]; } for(i=0,k=0;i<5;i++,k++) for(j=0,l=0;j〈5;j++,l++) if(d[i][j]—b[k]==0) { if(d[i][j]—c[l]==0) printf(”鞍点为d[%d][%d]=%d\n”,i,j,d[i][j]); else printf(”没有鞍点\n"); } } 7.10 #include〈stdio.h〉 #include〈string。h> void main() { int i,j=0,k=0,l=0,m=0,n=0; char str0[301],str1[100],str2[100],str3[100]; gets(str1); gets(str2); gets(str3); strcat(str0,str1); strcat(str0,str2); strcat(str0,str3); for(i=0;str0[i]!=’\0';i++) { if(str0[i]〉='A’&&str0[i]<='Z’) j++; else if(str0[i]〉='a'&&str0[i]〈=’z’) k++; else if(str0[i]>=’0’&&str0[i]<='9') l++; else if(str0[i]==’ ’) m++; else n++; } printf("大写字母、小写字母、数字、空格以及其他字符的个数依次为:\n"); printf("%5d %7d %5d %6d %4d\n",j,k,l,m,n); printf(”\n"); } 7.14 #include 〈stdio.h> #include 〈string。h〉 void main() { int i=0,resu; char s1[100],s2[100]; printf(”\n 请输入string1:”); gets(s1); printf("\n 请输入string2:"); gets(s2); while(s1[i]==s2[i]&&s1[i]!=’\0') i++; if(s1[i]==’\0’&&s2[i]=='\0') resu=0; else resu=s1[i]-s2[i]; printf("\n result:%d\n",resu); } 8。1 #include〈stdio。h〉 void main() { int maxgy(int m,int n); int mingb(int o,int p); int a,b; printf(”请输入两个正整数:a,b\n"); scanf(”%d,%d”,&a,&b); while(a〈=0||b〈=0) { printf("注:请输入两个正整数:a,b\n”); scanf("%d,%d",&a,&b); } printf(”这两个数的最大公约数是:%d",maxgy(a,b)); printf("这两个数的最小公倍数是:%d",mingb(a,b)); printf("\n”); } int maxgy(int m,int n) { int i,k; for(i=1;i<=m;i++) if(m%i==0&&n%i==0) k=i; return k; } int mingb(int o,int p) { int j; for(j=o;;j++) if(j%o==0&&j%p==0) break; return j; } 8。3 #include<stdio.h> void main() { int judss(int m); int a; printf(”请输入一个正整数:"); scanf(”%d”,&a); while(a<=0) { printf("注:请输入一个正整数:"); scanf(”%d",&a); } judss(a); printf("\n"); } int judss(int m) { int i; for(i=2;i〈m;i++) if(m%i==0) break; if(i〈m) return printf(”这个数不是素数"); else return printf(”这个数是素数"); } 8.5 #include<stdio。h〉 #include〈string。h〉 void main() { char fx(char str1[100]); char str0[100]; printf(”请输入一个字符串:\n"); gets(str0); fx(str0); puts(str0); } char fx(char str1[100]) { int i,j,k=strlen(str1); char str2[100]; strcpy(str2,str1); for(i=0,j=k-1;j>-1;i++,j-—) str1[i]=str2[j]; return str1[100]; }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 第三 版谭浩强 课后 习题 答案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文