解题思路:
1)用数组元素的下标作为猴子的序号0--n-1,数组的值为1表示猴子在圈中,数组的值为0表示猴子不在圈中;
2)开始数组元素的值都设置成1;
3)从下标为0的数组元素开始计数,如果值不位0,加1。如果加到了3,该猴子出圈。
#include <stdio.h>
#define N 100
int main()
{ int a[N],i,n,k,count;
scanf("%d",&n);
for (i=0; i<n; i++) a[i]=1;
count=0; i=0; k=0;
while (count<=n-1)
{ if ( a[i]!=0 ) k++;
if (k==3)
{ printf("%5d",i); a[i]=0; k=0; count++;}
i++;
if(i==n) i=0;
}
}
7104

被折叠的 条评论
为什么被折叠?



