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