传递小球.c

来自「C语言小程序。有白鸡问题」· C语言 代码 · 共 55 行

C
55
字号
#include "math.h"
int i, j, k;
int a[12];
main()
{ int b[12];
   j=0;k=0;
  for(i=0;i<=11;i++)
    {
       k=k+3;
       a[i]=k;
       b[i]=0;
    }
 s0:  sub( );
   j=j+1;
   for(i=0;i<=11;i++)
     {
        a[i]=(int)(a[i]/3);
        b[i]=a[i];
     }
   for(i=1;i<=10;i++)
      {
         a[i]=a[i]+b[i-1]+b[i+1];
         if(fabs(a[i]/3-(int)(a[i]/3))==0)
            goto s2;
         if(fabs(a[i]/2-(int)(a[i]/2))==0)
            goto s1;
         a[i]=a[i]+1;
 s1:    a[i]=a[i]+2;
 s2:; }
      a[0]=a[0]+b[11]+b[1];
      if(fabs(a[0]/3-(int)(a[0]/3))==0)
            goto s4;
      if(fabs(a[0]/2-(int)(a[0]/2))==0)
            goto s3;
      a[0]=a[0]+1;
s3:  a[0]=a[0]+2;
s4:  a[11]=a[11]+b[10]+b[0];
      if(fabs(a[11]/3-(int)(a[11]/3))==0)
            goto s6;
      if(fabs(a[11]/2-(int)(a[11]/2))==0)
            goto s5;
      a[11]=a[11]+1;
s5:  a[11]=a[11]+2;
s6: for(i=0;i<=10;i++)
         if(a[i]!=a[i+1])
           goto s0;
    sub( );
}

int sub( )
{printf("   J = %d :",j);
  for(k=0;k<=11;k++)
     printf("%d ",a[k]);
  printf("\n");
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?