欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新《C语言程序设计》(清华大学出版社)书后习题参考答案.doc

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

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

    最新《C语言程序设计》(清华大学出版社)书后习题参考答案.doc

    精品资料C语言程序设计(清华大学出版社)书后习题参考答案.第一步部分 简单程序设计P55.课堂实践 (1)#include<stdio.h> main()printf(“*n”);printf(“*n”);printf(“*n”);(2)#include<stdio.h>main<> /*main()*/printf(“Hello,World.n);P95.课堂实践 (1)#include<stdio.h>main() char a=116,b=119,temp;printf(“a=%c,b=%cn”,a,b);temp=a;a=b;b=temp;printf(“a=%c,b=%cn”,a,b);(2)功能:交换x,y的值;#include<stdio.h>main() int x,y; x=5; y=10; x=x+y; y=x-y;x=x-y;printf(“%d,%d”,x,y);(3)c:dec=120,oct=170,hex=78,ASCLL=x4、输出内容向左靠齐 12 123.141592600000000000000000000000003.14159260000000000000000000000000P115.课堂实践 (1)3.0-(3.0*4)/(4+2)#include<stdio.h>main() float x;x=3.0-(3.0*4)/(4+2);printf(“%f”,x);1/2*(2*3+2/(2*2*2)#include<stdio.h>main() float x;x=1/2*(2*3+2/(2*2*2);printf(“%f”,x);(2)%(3)B(4)#includestdio. hmainx,y,z;/*没有数据类型*/ xy5;/*赋值表达式左边不能是表达式,应为一个变量*/printf("xy,z",x,y,z);/*没有输入格式符*/ P135.课堂实践 (1)-14(2)(1)x=4,8 (2)8,8(3)#include<stdio.h> mian() int x=10;printf(“当x变量的初值为%d时,进行+=运算后的结果为%d”,x,x+=x); printf(“当x变量的初值为%d时,进行-=运算后的结果为%d”,x,x-=x); printf(“当x变量的初值为%d时,进行*=运算后的结果为%d”,x,x*=x); printf(“当x变量的初值为%d时,进行/=运算后的结果为%d”,x,x/=x); P13习题 一、1、C 2、C 3、A 二、5,-4 6,12,20P185.课堂实践 (1)#include<stdio.h>main() int x,y;scanf(“%d%d”,&x,&y);if(x>y) printf(“x>y”);else if(x<y) printf(“x<y”);else printf(“x=y”);(2)#include<stdio.h>main() int x,y;scanf(“%d”,&x);if(x>0) y=1;if(x=0) y=0;if(x<0) y= -1;printf(%d”,y);P215.课堂实践 (1)C (2)B (3)B (4)0.500000(5)不能:#include<stdio.h>main( )int x,y,z,max;if(z>y) if(z>x) maxz; else max=x; else if (y>x) maxy; else max=x;printf("nmax%d ",max);P23 略P24习题一、1、D 2、D 3、C 4、D 5、B 6、B 7、B二、1、y%2=0 2、&& | ! 3、(x>2&&x<3)|(x<-10)4、(ch>=A&&ch<=z) ch=ch-32;5、1,06、F三、1、#include<stdio.h>main()int a;scanf("%d",&a);if(a%5=0&&a%7=0)printf("yes");else printf("no");2、#include<stdio.h>main()int m;scanf("qingshuru:%d",&m); if(m%4=0&&m%100!=0)|m%400=0) printf("%d shirunnian",m); else printf("%d bushirunnian",m);3、 #include<stdio.h>#include<math.h>main() float a,b,c,dise,x1,x2,realpart,imagpart;scanf(“%f%f%f”,&a,&b,&c); printf(“The equation”);if(fabs(a)<=0) printf(“is not a quadraticn”);else dise=b*b-4*a*c;if(dise<=0)printf(“has two aqual roots:%8.4fn”,-b/(2*a);else if(dise>0) x1=(-b+sprt(disc)/(2*a);x2=(-b-sprt(disc)/(2*a);printf(“has distinct real roots:%8.4f and%8.4fn”,x1,x2);elserealpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(“has complex roots:n”);printf(“%8.4f+%8.4fn”,realpart,imagpart);printf(“%8.4f-%8.4fn”, realpart,imagpart);P285、课堂实践(1)#include<stdio.h>main( )int key;char ch;printf("*n");scanf("%d",&key);printf("?:n");while(ch=getchar()!='n')(ch-key)>122?putchar(ch+122-33-key):(ch-key)<33?putchar(ch-122-key):putchar(ch-key); (2)#include<stdio.h>main() int i; /*i没有赋值*/ int i=1;printf(“output ten numbers:n”); while(i<=10)printf(“%3d”);/*没有输出参数*/ printf(“%3d”,i); i+; /*应加组成复合语句*/ i+; P304. 课堂实践 (1)#include<stdio.h>main() int a,s=0;do scanf(“%d”,&a);s+=a;while(a!=-1);printf(“%d”,s);(2)#include<stdio.h>main() int a,b,r,t,maxB;scanf(“%d%d”,&a,&b);if(a<b) t=a;a=b;b=t;r=a%b;while(r!=0) a=b;b=r;r=a%b;maxB=b;printf(“maxB is %d”,maxB);P336. 课堂实践 (1)4(2)#include<stdio.h>main()int i,j;printf("*九九乘法表*");for(i=1;i<10;i+)for(j=1;j<=i;j+)printf("%d*%d=%dt",j,i,i*j);printf("n");#include<stdio.h>main()int i=1,j;while(i<10) j=1;while(j<=i) printf("%d*%d=%dt",j,i,i*j);j+;printf("n");i+;#include<stdio.h>main()int i=1,j;do j=1;do printf("%d*%d=%dt",j,i,i*j);j+;while(j<=i);printf("n");i+;while(i<10);(3)#include<stdio.h>main() int x;scanf("%d",&x);while(x>0) printf("%d",x%10);x/=10; prtntf(" ");P33习题【参考答案】一、1、D 2、C 3、A 4、A 5、D 6、C 7、D 8、D 9、C 10、B二、1、36 2、3 4、1 3 5、 i<=10 if(j%6!=0)三、1、#include<stdio.h>main()int a,sum=0;for(a=1;a<=100;a+)if(a%2=1)sum=sum+a;printf("%d",sum);2、#include<stdio.h>main() int i,j,s;int t;int k100;for(i=1;i<=1000;i+)s=0;t=0;for(j=1;j<i;j+)if(i%j=0)s+=j;kt+=j;if(i=s)printf("%d shi wanshou %d=",i,i);for(;t>0;)if(t>1)printf("%d+",k-t);else printf("%d",k-t);printf("n");3、#include<stdio.h>main() int y,t=0; for(y=1008;y<=2008;y+) if(y%4=0&&y%100!=0|y%400=0) printf(“%dt”,y);t+; if(t%5=0) printf(“n”);4、#include<stdio.h>main() int t,i,x,max,min;scanf(“%d”,&t); max=min=t;for(i=1;i<10;i+) scanf(“%d”,&x); if(max<=x)max=x;if(min>=x)min=x;printf(“%dt%dn”,max,min);5、#include<stdio.h>main() int i,j,p;for(i=1;i<=4;i+) for(p=1;p<=i;p+)printf(“ ”);for(j=7;j>=2*i-1;j-)printf(“*”);printf(“n”);P395课堂实践(1)float compare (float a,b,c) float k; if (a>=b) k=a; if(a>=c) k=a; else k=c; else k=b; if(b<=c) k=c; return k; (2)最大公约数:int zxgys (int m,n) int i,j,k; if(m>=n) k=n; else k=m; for(i=1;i<=k;i+) if(m%i=0&&n%i=0) j=i; return j;最小公倍数:int zdgbs (int a,int b) int x,y,k; if(a>=b) k=a; else k=b; for(x=a*b;x>=k;x- -) if(x%a=0&&x%b=0) y=x; return y;P41 课堂实践(1)#include<stdio.h>float zhouchang (float x) float l;l=2*3.14*x;return l;float mianji (float y) float s;s=3.14*y*y;return s;voide main () float r;scanf("%f",&r);float m,n;m=zhopuchang (r);n=mianji (r);printf("m=%fnn=%fn",m,n);(2) float add (float x,float y)Float z;Z=x+y;Return z;float sub(float h,float k)float w; w=h-k;return w;float mul(float m,n)float i;i=m*n;return i;float div(float e,f)float g;g=e/f;return g;void main()float p,g;scanf("%f%f",&p,&g);char a;lscanf("%c",&a);float j;if(a='+')j=add(p,g);else if(a='-')j=sub(p,g)else if (a='*')j=mul(p,g)else if (a='/')j=div(p,g)printf("'%f",5);P43习题一选择1.B 2.D 3.D 4.A 5.C 6.B 7.B 8.B 9.A 10.D二填空1.函数首部和函数体2.void add; float add;3.1,1,14. 1,2,3;5. break; scanf(“%c”,&ch);6. x=4 y=9 z=57.first:14 ,4 ,12 second:26 ,4 ,12 third:26 ,3 ,68. a+b=99. 810. 125三1 #include<stdio.h>#include<math.h>fun (int x,int y) int m;m=x-y;m=abs(m);return m;2 void deb (int x) int i;for(i=2;i<=x;i+) if(x%i=0) break;if(i>=x)printf("%d is su shun",x);3. 略 第二部分 程序设计算法示例P676.(1)#include<stdio.h>main()int b,m,l;for(b=1;b<20;b+)for(m=1;m<33;m+)l=100-m-b;if(5*b+3*m+l/3=100)printf("%d%d%dn",b,m,l) (2) #include<stdio.h>main()int a,b,c,d;for(a=1;a<10;a+) for(b=1;b<20;b+) for(c=1;c<50;c+) d=40-a-b-c; if(10*a+5*b+2*c+d=100) printf("%d,%d,%d,%dn",a,b,c,d); P705.(1)#include<stdio.h>main()int a,b,c;c=2;for(a=2;a<=3;a+) if(a=c) continue; b=6-a-c; if(b=c) continue; if(a=3) printf("a与z是对手n"); if(b=1) printf("b与x是对手n"); printf("c与y是对手n"); 5.(2)#include<stdio.h>main () int d=5;int a,b,c,e,f,g;for(a=1;a<=7;a+) if(a=d) continue; for(b=1;b<=7;b+) if(b=a|b=d) continue; for(c=1;c<=7;c+) if(c=a|c=b|c=d) continue; for(e=1;e<=7;e+) if(e=a|e=b|e=c|e=d) continue; for(f=1;f<=7;f+) if(f=e|f=d|f=c|f=b|f=a) continue; g=(23-a-b-c-e-f); if(g=f|g=e|g=d|g=c|g=b|g=a) continue; printf("a=%dnb=%dnc=%dnd=%dne=%dnf=%dng=%dn",a,b,c,d,e,f,g);5.(3) 略P71习题一、1. B2. D3. C4. C,D二1.2*x+4*y=90;2.14三1. #include<stdio.h>main () int a,b,c;for(a=1;a<=9;a+) for(b=0;b<=9;b+) for(c=0;c<=9;c+) if(a*a*a+b*b*b+c*c*c=100*a+10*b+c)printf("%d%d%dn",a,b,c);2#include<stdio.h>main () int bh,mh,lh;for(bh=1;bh<=40;bh+) for(mh=1;mh<=50;mh+) lh=100-bh-mh; if(3*bh+2*mh+lh/2) printf("bh=%dnmh=%dnlh=%dn"); P755.#include<stdio.h>main () float x1,x2;x1=1.5;x2=(x1+1/x1)/2;while(x1=x2)x1=x2;x2=(x1+1/x1)/2;printf("%f",x2);P765.(1) 略5.(2)#include<stdio.h>main () int day=1;int x1=0,x=0;float j;while(x1<100) x=day*2;day+;x1+=x;j=x1*0.8/(day-=1);printf("%f",j);P76习题一1.(1)B (2)D2. (1)C (2)A二1.(1)x1=0 (2) x/0.5-22.sum%4=0三 略P80. 5、课堂实践#include <stdio.h>void main() long int f1,f2;int i;f1=1; f2=1; for(i=1;i<=20;i+) printf(“%4ld %4ld”,f1,f2);if(i%2=0) printf(“n”);f1=f1+f2;f2=f2+f1; P81. 5、课堂实践#include <stdio.h>#include <math.h>int s(int a,int b) int g;if( b= =0)g=1;else g=pow(a,b);return(g);main() int x,y,m;Scanf(“%d,%d”,&x,&y);m=s(x,y);printf(“%d”,m);P81.习题一、1、(1) age(n-1)+2 (2)age(n) 2、计算Fibonacci数列第7项元素 k=13二、略P85.略P93.5、课堂实践(1) D (2) C (3) C (4)D(5)#include <stdio.h>main() int a5,s5;int i;for(i=0;i<5;i+)scanf(“%d”,&ai);for(i=0;i<5;i+) si=ai+5;printf(“%d”,si); P96. 5、课堂实践(1)#include <stdio.h>void main() int a10=265,301,751,129,937,863,742,694,76,438;int i,j,t;for(j=0;j<9;j+)for(i=0;i<9-j;i+)if(ai>ai+1) t=ai;ai=ai+1;ai+1=t;for(i=0;i<10;i+)printf(“%d ”,ai); (2).补充直接插入排序原理。程序略3.#include <stdio.h>#define N 10 void main()int a10=265,301,751,129,937,863,742,694,76,438;int i,j,t,k;for(i=0;i<N-1;i+)k=i;for(j=i+1;j<N;j+)if(aj<ak)k=j;t=ak;ak=ai;ai=t;for(i=0;i<N;i+)printf(“%d”,ai); P98. 5、课堂实践 (1) C (2) D (3) C(4)#include<stdio.h>void main() int a23=1,2,3,4,5,6;int b32, i,j;printf(“array a:n”);for(i=0;i<2;i+) for(j=0;j<3;j+) printf(“%3d”,aij);bji=aij;printf(“n”); printf(“array b:n”);for(i=0;i<3;i+) for(j=0;j<2;j+)printf(“%3d”,bij);printf(“n”;) P99. 习题一. (1) B (2) C (3) D (4) D (5) D (6) C (7) D (8) B (9) B (10) A1.按行存放 2. 2 0 3. 0 6 4&ai i%4= =0 printf(“n”);5. 1 0 0 0 00 1 0 0 0 0 0 1 0 00 0 0 1 00 0 0 0 1三1.#include <stdio.h> #define N 10 void main() int aN,i ,t; for( i=0;i<N;i+) scanf(“%d”,&ai); printf(“array a:n”);for(i=0;i<N;i+)printf(“%4d”,ai);for(i=0;i<N/2;i+) t=ai;ai=aN-i-1;aN-i-1=t; printf(“n now,array a:n”);for(i=0;i<N;i+)printf(“%4d”,ai);printf(“n”);2. #include <stdio.h> void main() int a10, b9 ,i; for( i=0;i<10;i+) scanf(“%d”,&ai);for( i=0;i<9;i+)bi=ai+1/ai;for( i=0;i<9;i+) if(i%3= =0)printf(“n”);printf(“%3d”,bi);3.#include <stdio.h>void main()int a10=68,97,64,52,69,78,98,73,89,53int i, max=a0,t,s=0;float ave;for(i=1;i<10;i+)if(max<ai)max=ai;t=i;printf(“%dn”,t);for(i=0;i<10;i+)s+=ai;ave=s/10;printf(“%f”,ave);4.#include <stdio.h>void main() int a33;int i,j, sum=0;for(i=0;i<3;i+)for(j=0;j<3;j+)scanf(“%d”,&aij);for(i=0;i<3;i+)sum=sum+aii;printf(“%d”,sum);5.#include <stdio.h>void main()int i,j,max;int a34,m=0,n=0;for(i=0;i<3;i+)for(j=0;j<4;j+)scanf(“%d”,aij);max=a00;for(i=0;i<3;i+)for(j=0;j<4;j+)if(max<aij)max=aij;m=i;n=j;printf(“m=%d,n=%d,max=%d”,m,n,max);P1055课堂实践(1)B (2)B (3)B (4)CP1085课堂实践(1)D (2) D (3)A(4)#include “stdio.h”#include “conio.h”main()int n1,n2,n3;int *p1,*p2,*p3;printf(“please input3 number:n1,n2,n3:”);scanf(“%d,%d,%d”,&n1,&n2,&n3):p1=&n1;p2=&n2;p3=&n3;if(n1<n2) swap(p1,p2);if(n1<n3) swap(p1,p2);if(n2<n3) swap(p2,p3);printf(“the sorted numbers are:%d,%d,%dn”,n1,n2,n3);swap(p1,p2)int *p1,*p2;int p;p=*p1;*p1=*p2;*p2=p;(5)略P109习题:1、B 2、B 3、B 4、B (fun(x,y);应为change(x,y)) 5、D二、1、地址、变量 2、a=0<CR> b=3<CR>3、4 12 4、2 5、*(x+i) *&xi *(&x0+i)6、25三、略P1124、课堂实践(1)ab (2)Dp1155、课堂实践(1)C (2)D (3)A (4)9字符串"abn012"的长度是 9 。(勘误:将"abn012"改为-à”abn012”) (5)400,(6)略P117 5、课堂实践(1)A (2)D (3)4,1P118习题一、(1)B (2)C (3)C (4)D (5)B (6)C二、1、hELLO! 2、bcdABCD 3、def 4、*2*4*6*8三、略P125 5、课堂实践(1)A (2)C (3)D(4)略P1274、课堂实践(1)70 (2)D (3)BP130 5、课堂实践(1)C (2)C (3)B (4)DP1335、课堂实践(1)97 (2)DP133 习题一、(1)A (2)C (3)C (4)C (5)B二、(1)10,4 (2)10,x (3)<3 old=p->age q->name,q->age三、(略)P1514课堂实践(1)B (2)C P1524课堂实践(1)二进制 文本文件(或 ASCLL文件)(2)n-1 (指针)首地址P152习题一、 1、C 2、A 3、A 二 、 略 任务14中相关习题均摘自计算机等级考试上机部分,读者可自行查阅相关内容。

    注意事项

    本文(最新《C语言程序设计》(清华大学出版社)书后习题参考答案.doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开