自由之战官网2公测:怎么修改这段代码

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/08 17:12:49
题目
有n个人围成一圈,顺序排号.从第1个恩开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号那位.
我编的代码是
#include <stdio.h>
void main()
{
int array[100];
int count1=0,count2=0,count3=0;
int i,n;
for(i=0;i<=99;i++)
array[i]=i+1;
printf("请输入排队的人数:");
scanf("%d",&n);
for(i=1;;i++)
{
if(array[i-count2*n-1]!=0)
count1++;
if(count1%3==0)
{
array[i-count2*n-1]=0;
count3++;
}
if(i%n==0)
count2++;
if(count3==n)break;
}
for(i=0;i<=n-1;i++)
if(array[i]!=0)
break;
printf("最后剩下的是原来的%d号%d\n",i+1,array[i]);
}
但程序有问题,我自己也知道
但不知道怎么改
请高手速帮忙,急用!

程序哪里有问题?结果有误?