用一位整形数组简单的实现约瑟夫环的问题,每一次出列了一个人就把后面的人往前移动,总的人数也做减1操作。把出列的人放到另一个整形数组当中,具体的代码实现如下面的代码:
#include <stdio.h>
int Joseput( int a[],int k,int m,int num )
{
int i,j,t,g,y;
int temp;
j=0;
int b[9]={0};//用一个整形数组b用来保存出列人的编号;
t=k+m-2;
b[j]=a[t];//先选出第一个人放在b[0];
for(g=t;g<num-1;g++)/*把出列的位子用后面的人给占据依次到最后一个*/
{
a[g]=a[g+1];
}