求一个,循环队列解决约瑟夫环问题的C语言程序,谢谢
展开全部
正好我以前写的这个还留着,如下:
n为人数,m是初始随机数
#include<stdio.h>
int main(void)
{
int m,n,i,j,k,times,num,a[2][100],b[100];
scanf("%d %d",&n,&m);
k=0;
if(n>0&&n<100)
{
for(num=1;num<n+1;num++)
{
scanf("%d",&a[0][num]);
a[1][num]=1;
}
for(j=0,i=1,times=1;times<=n;i++)
{
if(a[1][i]==1)
j++;
else
;
if(j==m)
{
a[1][i]=0;
j=0;
m=a[0][i];
b[k]=i;
k++;
times++;
}
if(i>=n)
i=0;
}
for(num=0;num<n;num++)
printf("%d ",b[num]);
}
return 0;
}
n为人数,m是初始随机数
#include<stdio.h>
int main(void)
{
int m,n,i,j,k,times,num,a[2][100],b[100];
scanf("%d %d",&n,&m);
k=0;
if(n>0&&n<100)
{
for(num=1;num<n+1;num++)
{
scanf("%d",&a[0][num]);
a[1][num]=1;
}
for(j=0,i=1,times=1;times<=n;i++)
{
if(a[1][i]==1)
j++;
else
;
if(j==m)
{
a[1][i]=0;
j=0;
m=a[0][i];
b[k]=i;
k++;
times++;
}
if(i>=n)
i=0;
}
for(num=0;num<n;num++)
printf("%d ",b[num]);
}
return 0;
}
追问
你好,很高心你来回答,非常感谢,我想要的是循环队列实现的,不知高手可指点一二。但此程序运行无结果呀。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询