收藏 分销(赏)

C语言程序设计第三版谭浩强课后习题答案.docx

上传人:精*** 文档编号:2381566 上传时间:2024-05-29 格式:DOCX 页数:16 大小:94.03KB 下载积分:8 金币
下载 相关 举报
C语言程序设计第三版谭浩强课后习题答案.docx_第1页
第1页 / 共16页
C语言程序设计第三版谭浩强课后习题答案.docx_第2页
第2页 / 共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]; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服