c语言编程陈刚课后解答。

c语言程序设计第三版指导答案

附录f课后问题参考答案

练习1

1.1填空

1.功能

2.Main函数main();主函数main() 3..Main函数main() 4..函数头;功能体5。{;}

6.序列结构;选择结构;环状结构7..c;c;。obj。可执行程序的扩展名

1.2思考问题

1.答:结构化程序设计(Structured programming)是指为了使程序具有合理的结构并保证程序的正确性,如何设计程序的一套原则。序列结构,选择结构,循环结构。

2.答:算法是对解决特定问题的步骤的描述。计算机算法的表达工具通常采用以下方法:①用自然语言表达算法;(2)用流程图来表示算法;③用伪代码表示算法;④用编程语言表达算法。

3.省略4。省略5。省略1.3编程题1。回答:

#include "stdio.h" main()

{ float a=10,b=20,h=5,s;s =(a b)* h/2;

printf("s=%f ",s);}

2.答:

#包含“stdio.h”

主()

{ printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * ");printf(" * hello world * ");printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");}

练习2

2.1选择题

DBDCA DCABB CA

2.2填空

1.2.000000

2.1;0.500000

3.9;2 4.6 5.100;d 6。(1)20

(2)0

(3)60 7.(1)10;6;四

(2)6;9;15

(3)3;60;83

8.55或“7”

9 . x = 4;y = 6;z = 3;m=463

2.3改正错题(略)

练习3

3.1选择题

BDABC ADCAC BBA

3.2填空

1.3 2.261 3.10

4.2, 1;交换a和b的值5.6.6 6.003 7.7

8.5.0,4,c =回车

9.i=10,j = 20回车

10.(1)65 (2)65,A (3)3.14,123.46

4 3.141600 e 000 1.234560 e 002 5 8765.432100 6 8.765432 e 003

11 . a = 2b = 5x = 8.8y = 76.34 C1 = 65 C2 = 97 12。% d/% d;%d/%d=%.2f\n

3.3改错题(略)3.4编程题

1.答:

#include "stdio.h" main() {

int x,y;

scanf("%d%d ",x,y);printf(" \ t \ tx \ ty \ n ");

Printf("十进制数\t%d\t%d\n ",x,y);Printf("八进制数\t%o\t%o\n ",x,y);Printf("十六进制数\t%X\t%x\n ",X,y);}

2.答:

#include "stdio.h" main() {

char ch

Printf("请输入大写字母");scanf("%c ",ch);

Printf("大写字母是%c\n ",ch);Printf("它的主角是%c\n ",ch-1);Printf ("it后跟%c\n ",ch 1);}

3.答:

#include "stdio.h" main() {

int x,a,b,c,y;

Printf("请输入一个三位数的整数\ n ");scanf("%d ",x);a = x/100;

b =(x-a * 100)/10;c=x;

y = c * 100 b * 10 a;

Printf("反向输出该整数:%d\n ",y);} }

4.答:

#include "stdio.h" main()

{ int hour

双薪,salaryday

scanf("%d,%lf ",小时,工作日);

工资=小时*工资日-小时*工资日* 0.1;

printf("%8.2lf\n ",薪金);}

5.答:

#include "stdio.h" main() {

int a,b,c,t;

Printf("请输入三个整数\ n ");scanf("%d%d%d ",a,b,c);

Printf("交换前,a=%d,b=%d,c=%d\n ",a,b,c);t = a;a = c;c = b;b = t;

Printf ("a=%d,b=%d,c=%d\n ",a,b,c交换后);}

练习4

4.1选择题

BADDD ACBBB BA

4.2填空

1.1

2.(1)a0 || b0

(2)x0 x=10 (3)a==1.5 b==1.5 c==1.5

(4)pa || pb || pc

3.(1)0 (2)1 (3)1 (4)0 (5)1

4.c=1 5。-4 6.1 7.5, 0, 3 8.5 9.123

10.(cvb = = ' Y ' | | cvb = = ' Y ')(work = 3 | | college = = ' Y ' | | college = = ' Y ')年龄=35

4.3改错题(略)4.4编程题

回答

#包含“stdio.h”

#include "math.h" main() {

双a,b,c,p,区;

scanf("%lf%lf%lf ",a,b,c);

Printf("三角形的三条边分别是:%。llf,%.1lf,%.1lf\n ",a,b,c);if(a BCA cbb ca){ p =(a b c)/2;

area = sqrt(p *(p-a)*(p-b)*(p-c));

Printf("三角形的面积是%.2lf\n ",area);}否则

Printf("不能形成三角形\ n ");}

2.答:

#include "stdio.h" main()

{ int x,y;

scanf("%d,%d ",x,y);如果(x*x y*y1000)

printf("%d\n ",(x * x y * y)/100);其他

printf("%d\n ",x y);}

3.答:

# include " stdio . h " # include " math . h " main()

{双x,y;

scanf("%lf ",x);if(x-2)y = x * x-sin(x);else if (x=2) y=pow(2,x)x;else y = sqrt(x * x x 1);

printf("x=%.2lf y=%.2lf\n ",x,y);}

4.答:

#include "stdio.h" main()

{龙哥,石,钱,万,x;scanf("%ld ",x);wan = x/10000;

qian=x000/1000;shi=x0/10;

ge=x;

if(ge = =石湾= =钱)/* bits等于一万位,十位等于一千位*/printf("此数为一汇文\ n ");其他

printf("本号不是汇文\ n ");

}

5.答:

#include "stdio.h" main()

{浮点p,w,s,d,f;

scanf("%f,%,%f ",p,s,w);if (s3000) d=0.15否则if(s = 2000)d = 0.1;else if(s = 1000)d = 0.08;else if(s = 500)d = 0.05;else if(s = 250)d = 0.02;else d = 0 f = p * w * s *(d);printf("%f ",f);}

6.答:

#include "stdio.h" main()

{ int年,钱;char x;

Printf("是我们的产品吗(y/n):");scanf("%c ",x);

if(x=='y'||x=='Y ')

{printf("产品使用寿命:");scanf("%d ",年份);

如果(年=1)钱= 0;

else if(year 8)money = 50;else money = 100

Printf("产品保修金额为:%d\n ",货币);

}

其他

{钱= 200;

Printf("不是我们的产品,产品保修金额是:%d\n ",钱);} }

7.答:

#include "stdio.h" main()

{ int money,num1,num2

Printf("请输入取款金额(≤2000):");scanf("%d ",money);

If(money2000) printf("请输入取款金额≤2000!\ n ");else if(moneyP = = 0){ num 1 = money/100;num2=(货币-num 1 * 100)/50;Printf ("100元:%d张\n ",num 1);Printf("需要支付50元:%d张\n ",num 2);} else printf("输入的金额必须是50的倍数!\ n ");}

练习5

5.1选择题

DBCB

5.2填空

1.2 0 2.333

3.(1) i10或i=9 (2)j%3!=0

4.(1) flag * (float) k/(k1)或1.0 * flag * k/(k1) (2) flag =-flag5。(1) max = X。

(2)x!=-1 (3)scanf("%d ",x)

6.(1) X = 9或x10

(2)y=9-x

5.3改错题(略)5.4编程题

1.答:

(1)对于循环,其他省略

#包含“stdio.h”

主()

{ int i,s = 0;

for(I = 1;i = 100I)s = I * I;

printf("%d\n ",s);}

(2)对于循环,其他省略

#include "stdio.h" main()

{ int i=1,p = 1;双s = 1;做{

s = 1.0/p;p * = I;

} while(1.0/p1e-6);printf("%lf ",s);}

2.答:

#include "stdio.h" main()

{ int m,n,t,a,b;

scanf("%d,%d ",m,n) if (mn)

{ t = m m = n n = t } a = mb = n;t=m%n while(t)

{ m = n n = t t = m % n} printf("%d ",n);}

3.答:

#include "stdio.h" main()

{ int x,y,s = 1;

scanf("%d,%d ",x,y) for( y0 y - )s*=x

printf("%d,%d,% d \ n " ,s,s/10,s/100);}

4.答:

#include "stdio.h" main()

{ int x,y,z;

for(x = 1 x20x)for(y = 1 y33 y){ z = 100-x-y

if((z % 3)= = 0(5 * x 3 * y z/3)= = 100)printf(" x = % d,y=%d,z=%d\n ",x,y,z) } }

5.答:(甲)

#include "stdio.h" main()

{ int j,k

for( j=1 j=4 j)

{ for(k = 1;k = j;k)printf(" ");printf("****") printf("\n") } }

(二)

#include "stdio.h" main()

{ int j,k

for( j=1 j=4 j)

{ for(k = 1;k = j;k)printf(" ");for(k = 1k = 2 * j-1k)printf(" * ")printf(" \ n ")} }

6.答:

程序分析:用于100到999之间的循环控制,将每个数分解成一、十、百。

#include stdio.h main() { int i,j,k,n;printf("水花'号是:");for(n = 100;n1000n){ I = n/100;/*分解成几百个*/j = n/10;/*分解成十位数*/k = n;/*分解单位*/if(n = = I * I * IJ * J * JK * K * K){ printf(" %-5d ",n);} } printf(" \ n ");}

7.答:

# include stdio . h main(){ int x;for(x = 1000;x = 3;x - ) if(x%3==1x%5==2x%7==3) {

Printf("本校学生人数为:%d \n ",x);打破;} }

8.答:

#include stdio.h main() { int x=12,I = 1;while(1)

{ if((x 20 I)= = 2 *(x I))break;我;} printf("小明的妈妈%d年后比小明大一倍\n ",I);Printf("当时小明的年龄是%d,小明妈妈的年龄是%d \n ",x i,x 20i);}

练习6

6.1选择题

DBCCB BDC

c语言程序设计教程(第三版)

278

6.2填空

1.c 2.60 3.1000 10 4.16

6.3编程问题

1.答:

# include " stdio . h " # include " math . h "

#定义F(a) a*a sqrt(3*a*a 2*a 1) main()

{ float x,f;

scanf("%f ",x);

F = 4.5/F(exp(x))F(cos(x))F(sqrt(x))/F(x * x)printf(" % F \ n ",F);}

练习7

7.1选择题

BCADA CCCDA BCBDB

7.2填空

1.(1)234510010(3)快速c

(4)10000 01000 00100 00010 00001 (5)语言

(6)语言编程2。(1)j =2 (2)a=0

a=6

a=1

a=1

6.源程序:

#包含" stdlib.h "

#包含“time.h”

#定义M 5

#定义N 7

主()

{int a

相关文章

发表新评论