c语言程序设计教程第二版课后习题答案

  • 格式:docx
  • 大小:21.12 KB
  • 文档页数:14

c 语言程序设计教程第二版课后习题答

篇一: c 语言程序设计教程 _李含光 _ 郑关胜 _清华大学

出版社习题答案习题答案 [完美打印版 ]】

1.单项选择题

(1)a (2)c(3)d (4)c (5)b 2.填空题 (1)函数

(2)主函数( main ) (3) printf() , scanf() 第 2 章习题参考答案

1 .单项选择题

1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题

(1)1(2)26 (3)6 , 4 , 2 (4)10 , 6 (5)3.000000

(6) 双精度( double )( 7)9 (8)字母 ,数字 ,下划线( 9) 13.700000 (10)11(11)(( m/10 )%10 )*100+

(m/100 ) *10+m%10 (12) 0 (13) 10 ,9 ,11(15)

(x0y0)||(x0z0)||(y0||z0) ( 16 )double (17)x==0 (18)

sqrt(fabs(a-b))/(3*(a+b)) ( 19 ) sqrt((x*x+y*y)/(a+b))

第 3 章习题参考答案

1 .单项选择题

1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题

(1)用;表示结束( 2){ } (3 ) y=x0?1:x==0?0:-1

(4) y%4==0y%100!=0||y%400==0 ( 5)上面未配对( 6) default

标号 ( 7)while , do while , for (8)do while (9)本次( 10) 本层 3.阅读程序,指出结果

(1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)

36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11)i=6 , k=4 (12)1,-2 4 .程序填空

(1)x:y , u :z

(2)m=n , m ! =0 , m=m/10

( 3) teps , t*n/(2*n+1) , printf( n”“,%2*lsf ) ( 4)

m%5==0 , printf( “ %nd” ,k)( 5)cx=getchar() , cx!=front , cx

(6)double s=0, 1.0/k , %lf (7)s=0 , sgmin, 5 .编程题

(1).

#include stdio.h int main() {

double x,y; scanf(%lf,x); if(x1) y=x;

else if(x=1.0x10) y=2*x-11; else y=3*x-11;

printf(%lf\n,y); return 0; } ( 2 ).

#include stdio.h int main() { double x,y,z,min;

scanf(%lf%lf%lf,x,y,z); if(xy) min=y; else min=x; if(minz) min=z;

printf(min=%lf\n,min); return 0; } ( 3 ).

#include stdio.h int main() { int y,m,d,flag,s=0,w,i;

scanf(%d%d%d,y,m,d); flag=(y%4==0y%100!=0||y%400==0); w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7; for(i=1;i=m;i++)

{ switch(i) {

case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break; case

4:s=90+d;break; case 5:s=120+d;break; case 6:s=151+d;break; case

7:s=181+d;break; case 8:s=212+d;break; case 9:s=243+d;break; case

10:s=273+d;break; case 11:s=304+d;break; case 12:s=334+d;break;

} }

s=(w+s)%7; if(s==0) printf( 星期日 \n); else printf( 星期 %d\n,s); return 0; } (4).

#include stdio.h int main() {

float p,r;

scanf(%f,p); if(p=10) r=p*0.1;

else if(p10p=20) r=10*0.1+(p-10)*0.075; else if(p20p=40)

r=10*0.1+10*0.075+(p-20)*0.05; else if(p40p=60)

r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;

else if(p60p=100) r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015;

else if(p100) r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01; printf(%f\n,r); return 0; } ( 5).

#include stdio.h int main() { char c;

while((c=getchar())!=\n) {

if(c=ac=z) c=c-32; putchar(c);

}

return 0; } ( 6 ). #includestdio.h int main() { int m,k=2;

printf( 输入一个正整数 :\n); scanf(%d,m); while(km) if(m%k==0)

{

printf(%4d,k); m=m/k; } else k++; printf(%4d\n,m); return 0; } ( 7 ). #includestdio.h int main() {

int a,n,s=0,p=0,i;

scanf(%d %d,n,a); for(i=1;i=n;i++) { p=p*10+a; s=s+p; }

printf(%d\n,s); return 0; } ( 8 ).

#includestdio.h int main()

{

int i,j,k; for(i=1;i=9;i++) for(j=0;j=9;j++) for(k=0;k=9;k++)

printf(%5d,100*i+10*j+k); return 0; }

(9) . #includestdio.h #includemath.h int main() { float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b- 4)*b+3)*b)-6; do { x=(a+b)/2;

f=(((2*x-4)*x+3)*x)-6; if(f*f10) { b=x; f2=f; } else { a=x;

f1=f; }

}while(fabs(f)=1e-6); printf(%6.2f\n,x); return 0; }

(10) .

#includestdio.h #includemath.h int main() { int n=2;

double eps,t,s=0,x;

scanf(%lf %lf,x,eps); t=x; s=t; while(fabs(t)=eps) { t=-t*(2*n-3)*x*x/(2*n-2); s=s+t/(2*n); n++; } printf(%d,%lf\n,n,s); return

0; }

(11) . #includestdio.h int main() { unsigned long s,t=0,p=1;

scanf(%u,s); while(s!=0) {

if((s%10)%2!=0) { t=t+(s%10)*p; p=p*10; } s=s/10; } printf(%u\n,t); return 0; } 第 4 章习题参考答案

1 .单项选择题

1-5 dddbd 6-10 badcd 11-14 bdab 2 .填空题

(1) 2(2)嵌套, 递归

( 3)全局变量 , 局部变量 , 静态变量 , 动态变量

( 4 )auto , static , register , extern ( 5)外部变量( 6)编译 ,运行 3.阅

读程序,指出结果 (1)15( 2) 5(3)5, 4,3 (4) i=5

i=2 i=2 i=4 i=2

(5)求水仙花数( 6)-5*5*5 (7)30 (8) 0 10 1 11 2 12

4.程序填空

(1) float fun(float , float) , x+y,x-y, z+y,z-y (2)

x , x*x+1

(3) s=0 , a=a+b 5 .编程题

(1). while(s!=0) #includestdio.h { unsigned int fun(unsigned int); p=p+s%10; int main() s=s/10; { } unsigned int s; return p; scanf(%u,s); } printf(%u\n,fun(s)); ( 2 ). return 0;

#includestdio.h } #includestdlib.h unsigned int fun(unsigned int

s) #includemath.h { void f1(float,float,float,float); unsigned

int p=0; void f2(float,float,float,float);

【篇二:《 c 语言程序设计》课后习题答案 (第四版 )谭浩

强】

t>1.1 什么是计算机程序 1

1.2 什么是计算机语言 1

1.3c 语言的发展及其特点 3

1.4 最简单的 c 语言程序 5

1.4.1 最简单的 c 语言程序举例 6

1.4.2c 语言程序的结构 10

1.5 运行 c 程序的步骤与方法 12

1.6 程序设计的任务 14 1-5 #include stdio.h

int main ( )

{ printf ( **************************\n\n); printf( very

good!\n\n);

printf ( return 0;

}

1-6#include stdio.h

int main()

{int a,b,c,max; printf(please input a,b,c:\n);

scanf(%d,%d,%d,a,b,c); max=a;

if (maxb) max=b;

if (maxc) max=c;