C语言课后答案谭浩强清华大学出版社.docx
- 文档编号:24278925
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:29
- 大小:19.63KB
C语言课后答案谭浩强清华大学出版社.docx
《C语言课后答案谭浩强清华大学出版社.docx》由会员分享,可在线阅读,更多相关《C语言课后答案谭浩强清华大学出版社.docx(29页珍藏版)》请在冰豆网上搜索。
C语言课后答案谭浩强清华大学出版社
第一章
1.3写出一个C程序的构成。
一个C程序可以由若干个源程序文件(分别进行编译的文件模块)组成,一个源文件可以由若干个函数和预处理命令以及全局变量声明部分组成,一个函数由数据声明部分和执行语句组成。
1.5
#include
voidmain()
{
printf("********************");
printf("\n");
printf("VeryGood!
");
printf("\n");
printf("********************");
scanf("%d");
}
1.6编写一个C程序,输入a,b,c三个值,输出其中最大值。
#include
voidmain()
{
inta,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
if(a
{
max=b;
b=a;
a=max;
}
if(a { max=c; c=a; a=max; } printf("%d\n",a); } 第三章 3.5字符常量和字符串常量有什么区别? 答: 字符常量是一个字符,在程序中字符是用单引号括起来的。 字符串常量有0个或若干个字符组合而成,在程序中字符串是用双引号括起来的,在储存时系统自动在字符串最后面加一个结束符号’\0’。 3.6写出下列程序的运行结果: aa︼bb︼︼︼cc︼︼︼︼︼︼abc ︼︼︼︼︼︼︼A︼N 3.7 #include voidmain() { charc1,c2,c3,c4,c5; c1='C'; c2='h'; c3='i'; c4='n'; c5='a'; c1=c1+4; c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4; printf("%c%c%c%c%c",c1,c2,c3,c4,c5); } 3.9求下面算术表达式的值。 (1)2.5 (2)3.5 3.10 9,11,9,10 3.12 (1)24 (2)10 (3)60 (4)0 (5)0 (6)0 第四章 4.4 #include voidmain() { inta,b,c; floatx,y,z; longu,n; charc1,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("a=%2db=%2dc=%2d\n",a,b,c); printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z); printf("x+y=%5.2fy+z=%5.2fz+x=%5.2f\n",x+y,y+z,z+x); printf("u=%6ldn=%9ld\n",u,n); printf("c1='%c'or%d(ASCII)\n",c1,c1); printf("c2='%c'or%d(ASCII)\n",c2-32,c2); } 4.5请写出程序的输出结果: 57 57 67.856400,-789.124023 67.856400,-789.124023 67.86,-789.12,67.856400,-789.124023,67.856400,-789.124023 6.785640e+01,-7.89e+02 A,65,101,41 1234567,4553207,d687 65533,177777,ffff,-1 COMPUTER,COM 4.6 a=3︼b=7 ︼8.5︼71.82 ︼A︼a 4.7 ︼︼︼10︼︼︼20Aa1.5︼-3.75︼1︼67.8 4.8 #include voidmain() { floatr,h,a,b,c,d,e; floatp=3.141592653; scanf("r=%fh=%f",&r,&h); a=2*p*r; b=p*r*r; c=4*p*r*r; d=(3.0/4.0)*p*r*r*r; e=p*r*r*h; printf("yuanzhouchang: a=%.2f\n",a); printf("yuanmianji: b=%.2f\n",b); printf("yuanqiubiaomianji: c=%.2f\n",c); printf("yuanqiutiji: d=%.2f\n",d); printf("yuanzhutiji: e=%.2f\n",e); } 4.10 (1) #include voidmain() { charc1,c2; printf("pleaseprintc1,c2: "); c1=getchar(); c2=getchar(); printf("useputchartoprinttheresult: "); putchar(c1); putchar(c2); printf("\n"); printf("useprintfprinttheresult: "); printf("%c%c\n",c1,c2); } c1和c2可以定义为字符型或整型,二者皆可。 (2) 要使程序结果输出c1和c2的ASCII码,要在printf函数中用%d格式符输出,即: printf("%d%d\n",c1,c2); (3)字符变量在计算机内占用一个字节,而整型变量占用两个字节。 因此整型变量在可输出字符的范围内(ASCII码为0~255之间的字符)是可以与字符数据互相转换的。 如果整数在此范围外,则不能替代。 第五章习题 5.3 #include voidmain() { inta,b,c,x,y; a=3; b=4; c=5; printf("%d\n",a+b>c&&b==c); printf("%d\n",a||b+c&&b-c); printf("%d\n",! (a>b)&&! c||1); printf("%d\n",! (x=a)&&(y=b)&&0); printf("%d\n",! (a+b)+c-1&&b+c/2); } 5.4 #include voidmain() { inta,b,c; scanf("%d,%d,%d",&a,&b,&c); if(a if(b printf("max=%d\n",c); else printf("max=%d\n",b); elseif(a printf("max=%d\n",c); else printf("max=%d\n",a); } 5.5 #include voidmain() { intx,y; scanf("%d",&x); if(x<1) y=x; else if(x>=10)y=3*x-11; elsey=2*x-1; printf("x=%d,y=%d\n",x,y); } 5.6 #include voidmain() { floatscore; chargrade; printf("student'sscoreis: "); scanf("%f",&score); switch((int)(score/10)) { case10: case9: grade='A';break; case8: grade='B';break; case7: grade='C';break; case6: grade='D';break; default: grade='E'; } printf("gradeis%c\n",grade); } 5.9 #include voidmain() { inta,b,c,d,t; printf("pleaseprintfournumbers: "); scanf("%d%d%d%d",&a,&b,&c,&d); if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(a>d){t=a;a=d;d=t;} if(b>c){t=b;b=c;c=t;} if(b>d){t=b;b=d;d=t;} if(c>d){t=c;c=d;d=t;} printf("theorderis: %d%d%d%d\n",a,b,c,d); } 第六章习题 6.1 #include voidmain() { intm,n,t,s,i; scanf("m=%dn=%d",&m,&n); if(m>n) {t=m;m=n;n=t;} s=m*n; while(m! =0) {i=n%m;n=m;m=i;} printf("highestcommondivissor=%d\n",n); printf("leastcommonmultiple=%d\n",s/n); } 6.4 #include voidmain() { intn; floats,i; s=0;i=1; for(n=1;n<=20;n++) {i=i*n;s=s+i;} printf("%.1f\n",s); } 6.6 #include voidmain() { intn,a,b,c; for(n=100;n<1000;n++) { a=n/100; b=n/10-a*10; c=n%10; if(n==a*a*a+b*b*b+c*c*c) printf("%d",n); } printf("\n"); } 6.8 #include voidmain() { inti,t; floata,b,c; a=1;b=2;c=0; for(i=1;i<=20;i++) { c=c+b/a; t=b; b=a+b; a=t; } printf("%f\n",c); } 6.11 #include #include voidmain() { floata,x0,x1; printf("thenumberis: "); scanf("%f",&a); x0=a; x1=(x0+a/x0)/2; while(fabs(x0-x1)>=1e-5) { x0=x1; x1=(x0+a/x0)/2; } printf("thesquarerootof%.0fis: %f\n",a,x1); } 6.14 #include voidmain() { inti,j,n; for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++) printf(""); for(n=0;n<=2*i;n++) printf("*"); printf("\n"); } for(i=0;i<=2;i++) { for(j=0;j<=i;j++) printf(""); for(n=0;n<=4-2*i;n++) printf("*"); printf("\n"); } } 第七章习题 7.2 #include voidmain() { inti,j,min,t,a[11]; for(i=1;i<=10;i++) { printf("a[%d]=",i); scanf("%d",&a[i]); } printf("\n"); for(i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for(i=1;i<=9;i++) { min=i; for(j=i+1;j<=10;j++) if(a[min]>a[j])min=j; t=a[i];a[i]=a[min];a[min]=t; } printf("\nThesortednumbers: \n"); for(i=1;i<=10;i++)printf("%5d",a[i]); } 7.4 #include voidmain() { inta[5]={2,4,6,8}; intnum,i,j; printf("arraya: \n"); for(i=0;i<4;i++) printf("%5d",a[i]); printf("\n"); printf("enterdatais: "); scanf("%d",&num); if(num>a[3]) a[4]=num; else {for(i=0;i<4;i++) if(a[i]>num) {for(j=3;j>=i;j--) a[j+1]=a[j]; a[i]=num; break; } } printf("newarraya: \n"); for(i=0;i<5;i++) printf("%5d",a[i]); printf("\n"); } 7.5 #include voidmain() { inti,j,a[5]; printf("enterarraya: \n"); for(i=0;i<5;i++) scanf("%d",&a[i]); printf("arraya: \n"); for(i=0;i<5;i++) printf("%5d",a[i]); printf("\n"); for(i=0;i<5/2;i++) { j=a[i];a[i]=a[4-i];a[4-i]=j; } printf("newarraya: \n"); for(i=0;i<5;i++) printf("%5d",a[i]); printf("\n"); } 7.6 #include voidmain() { inti,j,a[11][11]; for(i=1;i<11;i++) { a[i][1]=1;a[i][i]=1; } for(i=3;i<11;i++) { for(j=2;j<11;j++) {a[i][j]=a[i-1][j-1]+a[i-1][j];} } for(i=1;i<11;i++) {for(j=1;j<=i;j++) printf("%5d",a[i][j]); printf("\n");} } 7.9 #include #defineN15 main() { inti,j,number,mid,top,bott,loca,flag=1,sign=1; staticinta[N]={14,23,35,37,49,51,63,75,77,79,81,83,95,97,100}; intc; printf("\n"); for(i=0;i printf("%5d",a[i]); printf("\n"); while(flag) { printf("insertnumbertolookfor: "); scanf("%d",&number); loca=0; top=0; bott=N-1; if((numbera[N-1])) loca=-1; while((sign==1)&&(top<=bott)) { mid=(bott+top)/2; if(number==a[mid]) { loca=mid;sign=0; printf("find%d,itspositionis%d\n",number,loca+1); } else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言课后答案谭浩强 清华大学出版社 语言 课后 答案 谭浩强