你好 请帮我回答一下这个问题 用数据结构知识怎样解决约瑟夫环问题? C语言 而且要用到数组方面的知识

2024年11月29日 18:44
有2个网友回答
网友(1):

#include
#define M 10/*总人数*/
#define N 5
#define START 0/*第一个报数的人*/
void main(void)
{   int a[M],i=0,k,count=0;
while(i++a[i-1]=i;
for(i=START;count<=M-1;count++)
{   for(k=1;k<=N;a[i++]&&++k)/*根据&&运算的路短原理,若a[i]为0的话,++k的运算会被省略而++i的运算总会进行*/
if(i>M-1)   i=0;
printf("%d ",i?a[i-1]:a[M-1]);
a[(i?(i-1):(M-1))]=0;
}
getch();
}

网友(2):

问题呢?