#include "stdio.h"
#include "conio.h"
void Mov(int);
int a[13]={0};
void main()
{
int i;
a[12]=13;
a[11]=12;
for(i=1;i<=11;i++)
Mov(11-i); /*传递的是下标*/
for(i=0;i<13;i++)
printf("%5d",a[i]);
getch();
}
void Mov(int m)
{
int n,i;
int b[13]={0};
n=(m+1)%(12-m); /*m+1为上翻次数,12-m为当前牌数量*/
for(i=12;i>=m+1;i--) /*相当于把原来的几张牌向后移n位*/
if(i+n>12)
b[i+n-13]=a[i]; /*移出的保存在别的数组*/
else
a[i+n]=a[i]; /*做n位移动*/
for(i=0;b[i]!=0;i++)
a[m+1+i]=b[i]; /*把移出的放回*/
a[m]=m+1;
}