1、习题5.1答案1、B2、C3、S1 输入x;S2 用x除以2判断余数是否为0,如果为0则输出偶数,否则输出奇数。4、S1 输入a=7.85,h=14.29S2 计算S=ah/2S3 输出S5、S1 输入票价xS2 如果x2,那么y=0,否则如果x/10=x/10,那么y=x-2x/10,否则,y=x-2(x/10+1)S3 输出返还金额y6、S1 找一空瓶S2 将黑墨水倒入空瓶S3 将蓝墨水倒入该瓶中S4 将黑墨水倒入黑水瓶中习题5.2.1答案1、D 2、B开始2回代求解得xy输出xy结束3、开始输入abRMod(a,b)q(a-r)/b输出r,q结束4、5、x=5 y=4 6.略习题5.2.
2、2答案1、A 2、8 3、D4、S1 输入a,b,cS2 maS3 如果bm,那么mbS4 如果cm,那么mcS5 输出最小数m开始输入abcmabmc6输出SYN4、开始T1I1TTiii+1I10YN输出T结束Y习题5.2.4答案1、B2、523、开始S0k1K99输出s结束ss+1/k(k+1)kk+1NY4、算法如下: ,; 输入成绩; 若,则,转; 若,则; ; 若,转,否则,输出和;流程图:5、(1)变量y是循环变量,控制着循环的开始和结束;(2)流程图中的第部分是循环体,其功能是判断年份y是否是闰年,并输出结果;(3)该算法的处理功能是:判断2000年2500年中,哪些年份是闰年
3、,哪些年份不是闰年,并输出结果。习题5.2.5答案1.A 2、W500 3、20 4、ss+i; ii+2S 0I10Y输出S结束NI 1S S+I开始I I15.6. 可以运用公式 直接求解。第一步 取第二步 代入公式 得直线AB的方程第三步 输出AB 的方程7. 算法:S1 找一个大小与A相同的空杯子CS2 将A 中的水倒入C中S3 将B中的酒精倒入A中S4 将C中的水倒入B中,结束。8.算法如下S1 a 5S2 b 8S3 h 9S4 S (a+b)h/2;S5 输出S 流程图如右:习题5.3.1答案1、D2、B3、B4、a=-5,b=6,c=65、6、a1b-3c-4b2-4acIf
4、c且b+ca且a+cb Then P Else Read a,b,cEnd If8、I1While I50 Read n,a If a Then Print n,A Else If a60 Then Print n,B Else Print n,C End If II+1End While习题5.3.2答案1、B 2、C 3、1004、C5、流程图略n1While 5,那么输出m,n,程序结束,否则aa+1,b10-a;第四步:如果abS, ma;nb;转第二步,否则转第三步。8、第一步:n1第二步:x1+,Af(x)-f(1)/(x-1)第三步:输出x,A第四步:nn+1第五步:如果n5,那
5、么程序结束,否则转第二步。习题5.4.2答案1、12 2、A 3、A4、法一:S1 a1S2 S0S4 SS+1/a(a+1)S5 aa+1S7 如果a=99,那么转S4S8 输出S法二:原式可化为1-1/1005、略6、read xIf x=-2 Then y-2x-4Else If xx Then xEnd ForPrint x8、h100shFor i From 2 To 10 s=s+2h/2i-1End ForS(10)h/299、流程图略For x From 0 To 20 For y From 0 To 33z100-x-yIf 5x+3y+z/3=100 Then Print
6、x,y,zEnd If End ForEnd For习题5.4.3答案1、112、使用循环的嵌套,代码略。开始输入yMod(y,4)0Mod(y,100)0Mod(y,400)=0Y是平年Y是闰年结束YYYNNN3、Read yIf Mod(y,4) 0 Then Print y是平年Else If Mod(y,100) 0 Then Print y是闰年Else If Mod(y,400)=0 Then Print y是闰年Else Print y是平年End If4、略5、s=1I=1While s10000 ssi ii+1End WhilePrint i-16、i1s=0While i
7、20bb10+Mod(a,10) a(a-Mod(a,10)/10End WhilePrint b习题5.4.4答案1.D2.B 3.C 4.输出a,b,c中最小值56.算法如下S1 取S2 计算S3 计算S4 输出的值7. Read xa=mod( x ,7)If a=0Print SundayElse If a=1Print MondayElse If a=2Print TuesdayElse If a=3Print WednesdayElse If a=4Print ThursdayElse If a=5Print FridayElsePrint SaturdayEnd If习题5.5答案1.B 2. 3. 140; f(a)f(x0)0; 404.【解】 辗转相除法:91=491+42 49=4217 42=76(91,49)=7更相减损法(91,49)=(42,49)=(7,49)=75.A6.【解】算法如下: 若x0, y-1.14、伪代码如下: 流程图如下:15、(1)(2)伪代码如下: (3)伪代码如下: 16、(1) 算法功能是求满足不等式的最大正整数。(或的最小正整数的前一个)相应的流程图如下图左. (2)求整数a的所有比它小的正因数的和S=36,相应的流程图如下图右.w.w.w.k.s.5.u.c.o.m