实验8-1-8 报数 (20分)
代码:
//这个是记录相应位置第几个出去的,而不是哪个数出去
void CountOff( int n, int m, int out[] )
{
int nums[n], index = 1, i = 0, cnt = 1;
for (i = 0; i < n; i++) nums[i] = i + 1;//记录每个人的下标位置
while (cnt <= n) {
for (i = 0; i < n; i++)
{
if (nums[i] != -1) {
if (index % m == 0) {
out[i] = cnt;//存放的是每个位置出去的次序
nums[i] = -1;
index = 1;
cnt++;//记录出去的次序
}
else index++;
}
}
}
}