报数——解题报告

题目如下

通过审题首先思考需要的东西:
1用来遍历这些人的工具变量i;
因为不只要遍历一遍,而是一遍一遍地遍历,所以到头了要重头开始再来遍历
如下


2循环肯定要用,循环结束条件就是,要记录出去的人数变量outer,报出去一个人就outer++如果出去的人数到达了总人数,那么循环结束(作为循环结束的条件)

3需要一个计数器变量count 这个计数器只会在报的数里面变化,比如要报到3就退出圈,那么计数器只会123123地变化

4.记录这些人出去的轮数的工具变量lun,当报到指定的数字的时候,那个人出去,并且轮数lun++

5.定义一个数组a[MAXN],数组里面格子的值来记录这个数是不是出去过,
如下

如果这个人出去过,那么就当然不用报数计数器count 也自然不用count++
思考完需要的东西后,流程图如下

遇到的问题:
1.当遍历工具i超过了总人数,但是他需要一遍一遍地遍历这些人怎么办?

2循环跳出的条件怎么设置?

3这么记录这些人有没有出去过?出去过的人不再参与报数,怎么实现?

4怎么让这些人从1到指定的数不断报数下去?

解决方法上文均提到

posted @ 2019-12-13 12:16  7845  阅读(253)  评论(0编辑  收藏  举报