题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成
#include <stdio.h>
int main()
{
int n;
int m;
printf("Please enter number:");
scanf("%d", &n);
m = n;
int a[m];
int i;
int count = 0;
for (i = 0; i < n; i++)
{
a[i] = i + 1;
}
i = 0;
while (n > 1)
{
if (a[i] != 0)
{
count++;
}
if (count == 3)
{
a[i] = 0;
count = 0;
n--;
}
i++;
if (i == m)
{
i = 0;
}
}
for (i = 0; i < m; i++)
{
if (a[i] != 0)
{
printf("The last one lest is number %d\n", a[i]);
}
}
return 0;
}