关于joseph环的问题[急等]
main(){
int p[20];
int n,s,s1,m,i,j,k,w;
printf("*****now start the sys*****\n");
printf("please enter the number n:\n"); //一共n个人
scanf("%d",&n);
printf("please enter the first number s:\n"); //从第s个开始报数
scanf("%d",&s);
printf("please enter the m:\n"); //数到第m个人出列
scanf("%d",&m);
printf("please enter the data:\n");
for(i=1;i<=n;i++)
scanf("%d",&p[i]);
s1=s;
k=n;
for(i=n;i>=2;i--)
{s1=s1+m-1;
s1=s1%n;
if(s1==0)s1=i;
w=p[s1];
for(j=s1;j<i;j++)
p[j]=p[j+1];
p[i]=w;}
for(k=1;k<=(n/2);k++)
{w=p[k];p[k]=p[n-k+1];p[n-k+1]=w;}
for(i=1;i<=n;i++)
printf("%4d",p[i]);
printf("\n");
printf("*******end*******\n");
}
运行结果有错~算法上我自己找不出来~希望达人们能帮帮我~小弟万分感谢
关于那些链表来算这个问题小弟我还没学
所以只能用以前的办法
[此贴子已经被作者于2006-4-9 15:01:02编辑过]