问题 问答题

【问题3】 如果限制该算法最多输出K个可供选择的房间号,则在图4-5的α所指的判断框应改成什么处理

答案

参考答案:

解析:I>N OR J=K,其中,I>N也可以写成I=N+1;J=K也可以写成J≥K。

[分析]: 问题1比较简单,“输入M=4,R=0”表示散客人数为4,房间等级任意。对照旅馆各房间的情况表,易得满足条件的房间号有:101和301,算法的输出正是可供选择的房间号,故算法的输出应该为:“101,301”。 根据题设,每天的住宿费DAYRENT(J)应为散客数M与对应房间(等级为r)的每人每天住宿费RATE(r)的乘积。问题就是r是多少呢是用户输入的“R”吗显然可以排除这种情况,因为R可以为0。仔细地分析可得,r应为“RANK(I)”。故应增加“RATE(RANK(I))*M→ DAYRENT(J)”。需要注意的一点是,将变量A赋值V的写法如下:V→A,而不是C语言的习惯:A=V。在流程图中,等号“=”就表示“等于”。 仔细分析可得,变量I是用来计数旅馆房间的,变量J是用来计数满足条件的房间数的。α所指的判断框成立时输出结果,因此应改成:I>N OR J=K。

单项选择题
问答题 简答题