欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    C程序设计第三版谭浩强 清华大学出版社 课后习题答案.doc

    • 资源ID:8600153       资源大小:130KB        全文页数:51页
    • 资源格式: DOC        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C程序设计第三版谭浩强 清华大学出版社 课后习题答案.doc

    C程序设计(第三版)谭浩强 清华大学出版社 课后习题答案C程序设计(第三版)谭浩强 清华大学出版社 课后习题答案第一章1。5# include stdio.h void main() printf(”* * n Very good!n* * * * * *n"); 1.6 (法一) #include stdio。h main() int a,b,c,max; scanf(”d,d,%d",a,b,c); max=(a>b)?a:b; max=(max>c)?max:c; printf(”max=%dn”,max); (法二)main() int a,b,c,max; scanf("d,%d,d”,&a,&b,c); if(a>b&ac) max=a; else if (bc) max=b; else max=c; printf("max=%dn”,max); (法三) include <stdio。h> void main() int max(int x,int y,int z); int a,b,c,d; scanf(”%d,d,d",&a,&b,c); d=max(a,b,c); printf(”max=dn",d); int max(int x,int y,int z) int A,B; if(xy) A=x; else A=y; if(zA) B=z; else B=A; return(B); 第三章 3.3 (1)(10)10=(12)8=(a)16 (2)(32)10=(40)8=(20)16 (3)(75)10=(113)8=(4b)16 (4)(617)10=(176627)8=(fd97)16 (5)(-111)10=(177621)8=(ff91)16 (6)(2483)10=(4663)8=(963)16 (7)(-28654)10=(110022)8=(9012)16 (8)(21003)10=(51013)8=(520b)163.6 aabb (8)cc (8)abc (7)AN3.7 main() char c1=C,c2=h,c3=i,c4=n,c5=a; c1+=4, c2+=4, c3+=4, c4+=4, c5+=4; printf(”%c%cc%ccn”,c1,c2,c3,c4,c5); 3。8 main() int c1,c2; c1=97;c2=98; printf("%c %c”,c1,c2); 3。9 (1)=2.5 (2)=3。53。10 9,11,9,103.12 (1)24 (2)10 (3)60 (4)0 (5)0 (6)0第四章 4.4 main() int a,b,c; long int u,n; float x,y,z; char c1,c2; a=3;b=4;c=5; x=1.2;y=2.4;z=-3。6; u=51274;n=128765; c1=a;c2=b; printf(”n”); printf("a=%2d b=2d c=%2dn",a,b,c); printf(”x=8。6f,y=%8。6f,z=%9.6fn",x,y,z); printf("x+y=5.2f y+z=5.2f z+x=%5.2fn”,x+y,y+z,z+x); printf("u=6ld n=%9ldn",u,n); printf(”c1=%cor d(ASCII)n”,c1,c1); printf("c2=cor %d(ASCII)n”,c2,c2); 4.5 57 5 7 67.856400,-789.123962 67.856400,-789.123962 67。86 -789。12,67。856400,-789。123962,67.856400,789.123962 6.785640e+001,7。89e+002 A,65,101,41 1234567,4553207,d687 65535,177777,ffff,1 COMPUTER, COM4。6 a=3 b=7/ x=8.5 y=71.82/ c1=A c2=a/4.7 10 20Aa1。5 -3。75 +1。4,67。8/ (空3)10(空3)20Aa1.5(空1)3。75(空1)(随意输入一个数),67。8回车4.8 main() float pi,h,r,l,s,sq,sv,sz; pi=3。1415926; printf("input r,hn”); scanf("f,%f”,&r,h); l=2pir; s=r*r*pi; sq=4*pi*rr; sv=4.0/3。0pir*r*r; sz=pi*r*rh; printf("l=%6。2fn",l); printf(”s=%6。2fn”,s); printf(”sq=%6.2fn”,sq); printf("vq=6。2fn",sv); printf("vz=%6。2fn",sz); 4.9 main() float c,f; scanf(”%f",f); c=(5。0/9。0)*(f32); printf("c=5.2fn”,c); 4。10 include”stdio。h” main() char c1,c2; scanf(”c,%c",&c1,&c2); putchar(c1); putchar(c2); printf(”n"); printf(”%c%cn",c1,c2); 第五章 5.3 (1)0 (2)1 (3)1 (4)0 (5)15。4 main() int a,b,c; scanf("%d,d,d”,a,&b,&c); if(ab) if(bc) printf(”max=dn”,c); else printf("max=dn”,b); else if(a<c) printf(”max=dn",c); else printf("max=%dn",a); main() int a,b,c,temp,max; scanf("%d,d,d",a,&b,c); temp=(ab)?a:b; max=(ctemp)?c:temp; printf("max=d",max); 5。5 main() int x,y; scanf("d",&x); if(x1)y=x; else if(x10)y=2*x1; else y=3x11; printf("y=%d",y); 5。6 main() int score,temp,logic; char grade; logic=1; while(logic) scanf(”%d",score); if(score=0score<=100)logic=0; if(score=100) temp=9; else temp=(scorescore%10)/10; switch(temp) case 9:grade=A;break; case 8:grade=B;break; case 7:grade=C;break; case 6:grade=D;break; case 5: case 4: case 3: case 2: case 1: case 0:grade=E; printf”score=%d,grade=c”,score,grade); 5。7 main() long int num; int indiv,ten,hundred,thousand,ten_thousand,place; scanf(”%ld",num); if(num9999) place=5; else if(num999) place=4; else if(num99) place=3; else if(num9) place=2; else place=1; printf(”place=%dn”,place); ten_thousand=num/10000; thousand=(numten_thousand10000)/1000; hundred=(num-ten_thousand*10000thousand*1000)/100; ten=(num-ten_thousand*10000thousand*1000hundred*100)/10; indiv=numten_thousand10000thousand*1000hundred100-ten*10; switch(place) case 5:printf("d,%d,%d,%d,dn”,ten_thousand,thousand,hundred,ten,indiv); printf(”%d,d,%d,d,dn",indiv,ten,hundred,thousand,ten_thousand); break; case 4:printf(”d,d,%d,%dn",thousand,hundred,ten,indiv); printf(”d,%d,%d,dn",indiv,ten,hundred,thousand); break; case 3:printf("%d,d,%dn”,hundred,ten,indiv); printf(”d,%d,%dn”,indiv,ten,hundred); break; case 2:printf("d,dn”,ten,indiv); printf("d,%dn”,indiv,ten); break; case 1:printf("dn",indiv); printf(”%dn”,indiv); 5.8 main() long i; float bonus,bon1,bon2,bon4,bon6,bon10; bon1=1000000。1; bon2=bon1+1000000.075; bon4=bon2+200000*0.05; bon6=bon4+2000000。03; bon10=bon6+400000*0。015; scanf(”%ld”,i); if(i<=1e5)bonus=i*0。1; else if(i=2e5)bonus=bon1+(i100000)*0.075; else if(i<=4e5)bonus=bon2+(i-200000)*0.05; else if(i=6e5)bonus=bon4+(i-400000)*0.03; else if(i=1e6)bonus=bon6+(i-600000)0。015; else bonus=bon10+(i-1000000)*0.01; printf(”bonus=10.2f",bonus); main() long i; float bonus,bon1,bon2,bon4,bon6,bon10; int branch; bon1=1000000.1; bon2=bon1+100000*0。075; bon4=bon2+200000*0。05; bon6=bon4+200000*0。03; bon10=bon6+400000*0。015; scanf("%ld”,i); branch=i/100000; if(branch>10)branch=10; switch(branch) case 0:bonus=i*0.1;break; case 1:bonus=bon1+(i-100000)0。075;break; case 2: case 3:bonus=bon2+(i-200000)0。05;break; case 4: case 5:bonus=bon4+(i-400000)0。03;break; case 6: case 7 case 8: case 9:bonus=bon6+(i-600000)*0。015;break; case 10:bonus=bon10+(i1000000)0。01; printf("bonus=10.2f”,bonus); 4。9 main() int t,a,b,c,d; scanf("%d,%d,d,%d",&a,b,c,d); if(ab)t=a;a=b;b=t; if(a>c)t=a;a=c;c=t; if(ad)t=a;a=d;d=t; if(b>c)t=b;b=c;c=t; if(bd)t=b;b=d;d=t; if(c>d)t=c;c=d;d=t; printf("d d %d dn",a,b,c,d); 5。10 main() int h=10; float x,y,x0=2,y0=2,d1,d2,d3,d4; scanf(”f,f",x,&y); d1=(x-x0)(xx0)+(yy0)*(yy0); d2=(xx0)*(x-x0)+(y+y0)(y+y0); d3=(x+x0)*(x+x0)+(y-y0)*(y-y0); d4=(x+x0)*(x+x0)+(y+y0)*(y+y0); if(d1>1&d2>1&d3>1&d4>1)h=0; printf("h=d”,h); 第六章 循环控制 6。1 main() int a,b,num1,num2,temp; scanf("%d,d”,&num1,num2); if(num1<num2)temp=num1;num1=num2;num2=temp; a=num1;b=num2; while(b!=0) temp=ab; a=b; b=temp; printf("%dn”,a); printf(”dn",num1*num2/a); 6.2 include"stdio.h" main() char c; int letters=0,space=0,digit=0,other=0; while(c=getchar())!=n) if(c=a&c<=zc=Ac<=Z) letters+; else if(c= )space+; else if(c=0c<=9)digit+; else other+; printf(”letters=dnspace=dndigit=dnother=%dn",letters,space,digit,other); 6。3 main() int a,n,count=1,sn=0,tn=0; scanf(”%d,d”,&a,&n); while(count<=n) tn+=a; sn+=tn; a*=10; +count; printf(”a+aa+aaa+.。=%dn”,sn); 6。4 main() float n,s=0,t=1; for(n=1;n<=20;n+) t=n; s+=t; printf("s=en",s); 6.5 main() int N1=100,N2=50,N3=10; float k; float s1=0,s2=0,s3=0; for(k=1;k=N1;k+)s1+=k; for(k=1;k<=N2;k+)s2+=kk; for(k=1;k<=N3;k+)s3+=1/k; printf("s=8.2fn”,s1+s2+s3); 6。6 main() int i,j,k,n; for(n=100;n<1000;n+) i=n/100; j=n/10i10; k=n%10; if(i100+j*10+k=i*i*i+jj*j+k*kk) printf("n=%dn”,n); 6.7 #define M 1000 main() int k0,k1,k2,k3,k4,k5,k6,k7,k8,k9; int i,j,n,s; for(j=2;j=M;j+) n=0; s=j; for(i=1;i<j;i+) if(j%i)=0) n+; s=si; switch(n) case 1:k0=i;break; case 2:k1=i;break; case 3:k2=i;break; case 4:k3=i;break; case 5:k4=i;break; case 6:k5=i;break; case 7:k6=i;break; case 8:k7=i;break; case 9:k8=i;break; case 10:k9=i;break; if(s=0) printf(”j=%dn",j); if(n1)printf("%d,%d”,k0,k1); if(n2)printf(",d",k2); if(n3)printf(”,%d",k3); if(n>4)printf(”,d”,k4); if(n5)printf(”,%d”,k5); if(n>6)printf(",%d",k6); if(n>7)printf(”,%d",k7); if(n>8)printf(",d",k8); if(n9)printf(”,dn",k9); main() static int k10; int i,j,n,s; for(j=2;j=1000;j+) n=-1; s=j; for(i=1;ij;i+) if((j%i)=0) n+; s=s-i; kn=i; if(s=0) printf(”j=%dn”,j); for(i=0;in;i+) printf("%d,",ki); printf("dn",kn); 6.8 main() int n,t,number=20; float a=2;b=1;s=0; for(n=1;n<=number;n+) s=s+a/b; t=a,a=a+b,b=t; printf(”s=%9。6fn",s); 6。9 main() float sn=100.0,hn=sn/2; int n; for(n=2;n=10;n+) sn=sn+2*hn; hn=hn/2; printf("sn=fn”,sn); printf(”hn=fn”,hn); 6.10 main() int day,x1,x2; day=9; x2=1; while(day0) x1=(x2+1)*2; x2=x1; day-; printf("x1=%dn",x1); 6。11 include"math。h" main() float a,xn0,xn1; scanf(”f",a); xn0=a/2; xn1=(xn0+a/xn0)/2; do xn0=xn1; xn1=(xn0+a/xn0)/2; while(fabs(xn0xn1)=1e5); printf("a=%5。2fn,xn1=8.2fn",a,xn1); 6.12 #include”math。h” main() float x,x0,f,f1; x=1.5; do x0=x; f=((2x0-4)x0+3)*x0-6; f1=(6x08)*x0+3; x=x0-f/f1; while(fabs(xx0)=1e5); printf("x=6.2fn”,x); 6.13 #include"math。h” main() float x0,x1,x2,fx0,fx1,fx2; do scanf("f,f”,x1,x2); fx1=x1*((2x14)x1+3)6; fx2=x2(2*x2-4)*x2+3)6; while(fx1*fx2>0); do x0=(x1+x2)/2; fx0=x0*(2*x04)x0+3)6; if(fx0fx1)<0) x2=x0; fx2=fx0; else x1=x0; fx1=fx0; while(fabs(fx0)>=1e-5); printf(”x0=%6。2fn”,x0); 6。14 main() int i,j,k; for(i=0;i<=3;i+) for(j=0;j<=2-i;j+) printf(” "); for(k=0;k<=2i;k+) printf(”"); printf("n”); for(i=0;i=2;i+) for(j=0;j=i;j+) printf(” ”); for(k=0;k<=4-2*i;k+) printf("*"); printf("n"); 6.15 main() char i,j,k; for(i=x;i=z;i+) for(j=x;j<=z;j+) if(i!=j) for(k=x;k=z;k+) if(i!=k&j!=k) if(i!=x&&k!=x&&k!=z) printf(”na-ctb-ctc-%cn”,i,j,k); 第七章 数组 7.1 #include <math。h> #define N 101 main() int i,j,line,aN; for (i=2;i<N;i+) ai=i; for (i=2;i<sqrt(N);i+) for (j=i+1;j<N;j+) if(ai!=0 & aj!=0) if (aj%ai=0) aj=0; printf("n”); for (i=2,line=0;i<N;i+) if(ai!=0) printf("%5d",ai); line+; if(line=10) printf("n"); line=0; 7。2 define N 10 main() int i,j,min,temp,aN; for(i=0;iN;i+) scanf(”d",ai); for(i=0;iN-1;i+) min=i; for(j=i+1;jN;j+) if(aminaj)min=j; temp=ai; ai=amin; amin=temp; for(i=0;iN;i+) printf(”%5d",ai); 7。3 main() float a33,sum; int i,j; for(i=0;i<3;i+) for(j=0;j<3;j+) scanf(”f”,&sum); aij=sum; for(i=0;i<3;i+) sum=sum+aii; printf("sum=f”,sum); 7。4 main() int a11=1,4,6,9,13,16,19,28,40,100; int temp1,temp2,number, end,i,j; scanf("%d",number); end=a9; if(number>end) a10=number; else for(i=0;i<10;i+) if(ai>number) temp1=ai; ai=number; for(j=i+1;j11;j+) temp2=aj; aj=temp1; temp1=temp2; break; for(i=0;i<11;i+) printf("6d”,ai); 7.5 define N 5 main() int aN=8,6,5,4,1,i,temp; for(i=0;i<N/2;i+) temp=ai; ai=aN-i1; aNi-1=temp; for(i=0;i<N;i+) printf(”4d”,ai); 7.6 define N 11 main() int i,j,aNN; for(i=1;iN;i+) aii=1; ai1=1; for(i=3;i<N;i+) for(j=2;ji;j+) aij=ai-1j1+ai1j; for(i=1;iN;i+) for(j=1;j<=i;j+) printf("%6d",aij); printf("n"); 7。7 main() int a1616,i,j,k,p,m,n; p=1; while(p=1) scanf("d”,&n); if((n!=0)(n=15)&(n%2!=0))p=0; for(i=1;i<=n;i+) for(j=1;j=n;j+) aij=0; j=n/2+1; a1j=1; for(k=2;k=nn;k+) i=i-1; j=j+1; if(i1)&(j>n) i=i+2; j=j-1; else if(i<1)i=n; if(jn)j=1; if(aij=0)aij=k; else i=i+2; j=j1; aij=k; for(i=1;i<=n;i+) for(j=1;j<=n;j+) printf(”3d",aij); printf("n"); 7.8 #define N 10 #define M 10 main() int i,j,k,m,n,flag1,flag2,aNM,max,maxi,maxj; scanf("%d,%d”,n,m); for(i=0;in;i+) for(j=0;j<m;j+) scanf(”d”,aij); flag2=0; for(i=0;in;i+) max=ai0; for(j=0;j<m;j+) if(max<aij) max=aij; maxj=j; for(k=0,flag1=1;k<n&&flag1;k+) if(maxakmaxj)flag1=0; if(flag1) printf(”na%dd=%dn",i,maxj,max); flag2=1; if(!flag2) printf(”NOT"); 7.9 include<stdio.h #define N 15 main() int i,j,number,top,bott,min,loca,aN,flag; char c; for(i=0;i=N;i+) scanf(”%d",&ai); flag=1; while(flag) scanf("d",number); loca=0; top=0; bott=N1; if(numbera0)|(number>aN-1) loca=-1; while((loca=0)(top=bott) min=(bott+top)/2; if(number=amin) loca=min; printf("number=%d,loca=dn",number,loca+1); else if(number<amin) bott=min1; else top=min+1; if(loca=0|loca=1) printf(”%d not in tablen”,number); printf("continue Y/N or y/n

    注意事项

    本文(C程序设计第三版谭浩强 清华大学出版社 课后习题答案.doc)为本站会员(李医生)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开