刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题一(共15分,每空3分)

【说明】

以下流程图用于检查数组A[1:n]中的@素是否为自然数1〜n的一个排列(含有1〜n各数)。若是,则输出OK,否则输出所缺的自然数及其个数m。

为检查A[1:n]中是否含有k,只要判断P(k)=(A(l)-k)*(A(2)-k)*...*(A(n)-k)是否等于0即可。

【流程图】


阅读说明和流程图,填补流程图中的空缺(1)〜(5)。


请根据提供的说明和流程图,填补流程图中的空缺(1)〜(5)。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

(1)0

(2)1

(3)p*(A(i)-k)或等价表示

(4)p=0或等价表示

(5)m+1或等价表示

解析:

这是一个关于流程图的问题,需要根据题目的说明和流程图来填补空缺。根据题目的描述,流程图的目的是检查数组A[1:n]中的元素是否为自然数1~n的一个排列。主要思路是通过判断P(k)是否等于0来确定数组A中是否包含某个自然数k。

对于空缺(1),由于需要计算P(k),所以应该初始化一个变量p为任意非零值,作为计算的初始值。

对于空缺(2),设置一个计数器i从1开始,用于遍历数组A中的每个元素。

对于空缺(3),判断p*(A(i)-k)是否等于零。如果等于零,说明数组A中存在自然数k,此时应该执行下一步操作;如果不等于零,则继续执行流程图的后续操作。这里的等价表示可以是其他形式的逻辑判断,只要能够正确判断是否存在自然数k即可。

对于空缺(4),如果找到了缺失的自然数k和计数器i的值(即缺失的个数m),则输出所缺的自然数k和个数m并结束程序。这里的等价表示可以是其他形式的输出语句。

对于空缺(5),如果当前的自然数k不在数组A中,那么将计数器i的值加一并返回步骤(3)继续执行,直到遍历完整个数组A为止。这里的等价表示可以是其他形式的循环控制语句,只要能够确保遍历整个数组即可。

创作类型:
原创

本文链接:请根据提供的说明和流程图,填补流程图中的空缺(1)〜(5)。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share