#include<stdio.h>
#define MaxNum 100
typedef struct
{
int data[MaxNum];
int length;
}SqList;
int main()
{
SqList L;
int i,j,k=1,e,m;
printf("请输入总人数n和初始值m:\n");
scanf("%d%d",&L.length,&m);
for(i=0;i<L.length;i++)
L.data[i]=i+1;
int a[L.length];
printf("请输入密码:");
for(i=0;i<L.length;i++)
scanf("%d",&a[i]);
printf("出队顺序为:");
while(L.length!=0)
{
k--;
i=(k+m-1)%(L.length);
e=L.data[i];
printf("%d\t",e);
m=a[i];
for(j=i;j<L.length-1;j++)
{
L.data[j]=L.data[j+1];
a[j]=a[j+1];
}
L.length--;
k=i+1;
}
printf("\n");
return 0;
}
如人数6,m初始值2,密码2 3 4 5 6 7
则出队顺序2 5 1 4 6 3