本帖最后由 xiniuniu 于 2015-5-1 14:06 编辑
最后两个人, 第一个报1, 第二个报2, 接着第一个再报3, 第一个人出局, 第二个留下...我是用链表做的. 有点麻烦 , 前几天也看到有同学用数组做的
思路大体是这样 如 int arr[6] = {1, 2, 3, 4, 5, 6}; 数组中存放每个人的编号
报到3的人出局, 那么后边的编号前移, 空出来的位置设置为0, 每次循环到0则从头开始
如
第一个 {1, 2, 4, 5, 6, 0}
第二个{1, 2, 4, 5, 0, 0}
第三个{1, 2, 5, 0, 0, 0};
第四个{1, 5, 0, 0, 0, 0};
......
当数组中只有一个不为0时退出循环 大体思路是这样吧. 细节还需仔细斟酌 |