1-8章习题参考答案全 下载本文

内容发布更新时间 : 2024/12/23 6:52:33星期一 下面是文章的全部内容请认真阅读。

else m=n/1000; switch(m)

{ case 0: r=0; break; case 1: r=0.05; break; case 2: r=0.08; break; case 3: case 4:

case 5: r=0.1; break; case 6: r=0.15; break; }

s=n-r*n;

printf(\税率r=%.0f%%, 奖金值n=%.2f, 实际应得奖金值s=%.2f\\n\n, s); }

4. 从键盘输入任意4个数a、b、c、d,按照从大到小的顺序排列后重新输出。

#include void main( )

{ int a, b, c, d,t;

scanf(\ if(a

printf(\}

5. 给出一个不超过4位数的正整数,判断它是几位数,并按逆向输出各位数字。例1234,输出为4321。 #include void main( )

{ int num,i,j,k,m;

printf(\输入一个少于4位的正整数:\ scanf(\

if(num>=0 && num<=9999)

{ if(num>1000 && num<=9999) { printf(\是一个4位数\\n\

m=num; /*求个位上的数字*/ k=num/10; /*求十位上的数字*/ j=num/100; /*求百位上的数字*/ i=num/1000; /*求千位上的数字*/

printf(\逆序数为:%d%d%d%d\\n\ }

else if(num>=100)

{ printf(\是一个3位数\\n\ m=num; /*求个位上的数字*/ k=num/10; /*求十位上的数字*/ j=num/100; /*求百位上的数字*/ printf(\逆序数为:%d%d%d\\n\ }

else if(num>=10)

{printf(\是一个2位数\\n\ m=num; /*求个位上的数字*/ k=num/10; /*求十位上的数字*/ printf(\逆序数为:%d%d\\n\ } else

{printf(\是一个1位数\\n\ printf(\逆序数为:%d\\n\ } }

else printf(\是一个无效的数\\n\}

第5章习题 一、选择题

1 B 2 C 3 B 4 C 5 A 6 B 7 D 8 B 9 A 10 B 二 填空题

1. 循环 switch 2. 4,7 3. 6 4. # # 5. 0 2 6. 18 7. 1

8. sum=80

9. c=getchar()

n:m

10. i = =0

break 三 程序分析题

1. output1:21 6 output2: 5 6 output3: 5 7 7 2. n=7 3. Max=18 Min=3 4. 1*1=1

2*1=2 2*2=4

3*1=3 3*2=6 3*3=9 5. 0 1 2 3 1 2 3 0 2 3 0 1 3 0 1 2

四、编程题

1. 从键盘上输入若干字符,以按Enter键结束,统计其中字符A或a的个数。

#include \main() { char ch; int k=0;

while((ch=getchar())!='\\n') { if(ch=='A' || ch=='a') k=k+1; } printf(\}

2. 利用?=?????×100项之积计算?的值。 ??的前... #include

main() {

double term, result = 1; /*累乘项初值应为1*/ int n;

for (n=2; n<=100; n = n + 2) {

term=(double)( n * n)/((n-1)*(n+1)); /*计算累乘项*/ result = result * term; }

printf(\}

3. 用1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,问共有几种兑换方案?每种方案各换多少枚?

#include

main() {

int x,y,z,count=0; for(x=1;x<=28;x++) for(y=1;y<=73;y++) { z=100-x-y; if(5*x+2*y+z==150) { count++; printf(\ } }

printf(\}

4. 鸡兔同笼,共有98个头,386只脚,编程求鸡、兔各多少只。

#include main()

{ int x, y;

for (x=1;x<=97;x++) { y=98-x; if(2*x+4*y==386)

??2224466133557