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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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*l s f)(4)m%5==0 ,
printf( “%n d”,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).#include
stdio.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 (**************************\n); 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;
printf(the largest number is %d\n,max); return 0;
}
第2 章算法——程序的灵魂16
2.1 什么是算法16
2.2 简单的算法举例17
2.3 算法的特性21
2.4 怎样表示一个算法22
2.4.1 用自然语言表示算法22
2.4.2 用流程图表示算法22
2.4.3 三种基本结构和改进的流程图26
2.4.4 用n?s 流程图表示算法28
2.4.5 用伪代码表示算法31
2.4.6 用计算机语言表示算法32
2.5 结构化程序设计方法34
习题36
第章最简单的 c 程序设计——顺序程序设计37 3.1 顺序程序设计举例37
3.2 数据的表现形式及其运算39
3.2.1 常量和变量39
3.2.2 数据类型42
3.2.3 整型数据44
3.2.4 字符型数据47
3.2.5 浮点型数据49
3.2.6 怎样确定常量的类型51
3.2.7 运算符和表达式52
3.3c 语句57
3.3.1c 语句的作用和分类57
3.3.2 最基本的语句——赋值
语句59
3.4 数据的输入输出65 3.
4.1 输
入输出举例65
3.4.2 有关数据输入输出的概念67
3.4.3 用printf 函数输出数据68
3.4.4 用scanf 函数输入数据75
3.4.5 字符数据的输入输出78 习题82
3-1 #include stdio.h
#include math.h
int main() {float p,r,n;
r=0.1; n=10;
p=pow(1+r,n);
printf(p=%f\n,p);
return 0;
}
3-2-1
#include stdio.h
#include math.h
int main()
{float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;
p=1000;
r5=0.0585;
r3=0.054;
r2=0.0468;
r1=0.0414;
r0=0.0072;
p1=p*((1+r5)*5);// 一次存 5 年期
p2=p*(1+2*r2)*(1+3*r3); // 先存2 年期,到期后将本息再存 3 年期p3=p*(1+3*r3)*(1+2*r2); // 先存3 年期,到期后将本息再存 2 年期。

相关文档
最新文档