关于加强版的约瑟夫环的问题 求指点
#include <stdio.h>#include <stdlib.h>
#include <time.h>
#define n 100
int main()
{
int i, j, k, count, number[n];
int a[n];
count =1;
srand(time(NULL)+1);
j=0;
for( i=0; i<n; i++ )
{
Begin:
number[i] = rand()%791+10;
for( j=0; j<i; j++ )
{
if( number[i]==number[j] )
{
goto Begin;
}
} //此段代码为了求出100个不重复的随机整数
}
k = rand()%6+1; //先摇一次骰子
for( i=1; i<=n; i++ )
{
if ( count<k && number[i-1]>0 ) //若还未达到骰子的点数就一直往下数
{
count++;
}
else if( count==k && number[i-1]>0) //达到骰子的点数后
{
a[j] = number[i-1]; //将每次点数所对应的数值传给数组依次输出
number[i-1] = 0; //将之前对应点到的数值剔除
j++;
count = 1; //从一开始重新数
k = rand()%6+1; //重新摇骰子
}
if( i==n ) //当数值达到100时重头再来
{
i=0;
}
if( j==n ) //点玩100人后结束
break;
}
for( j=0; j<n; j++ )
{
printf("%d\t",a[j]);
}
}