# include <stdio.h>
void main()
{
                                        /* l12
    l7
    l5*/
    int l12=12,l7=0,l5=0;
                /* 12
    0
    0
    初始值,定义l12为12升的杯子,l7为7升的杯子,l5为5升的杯子*/
    l12=l12-7;l7=l7+7;
                   /* 5
    7
    0
    12升倒给7升里面*/
    l7=l7-5;l5=l5+5;
                     /* 5
    2
    5
    7升倒给5升里面*/
    l12=l12+l5;l5=l5-l5;
                 /* 10
    2
    0
    5升倒给12升里面*/
    l5=l5+l7;l7=l7-l7;
                   /* 10
    0
    2
    7升倒给5升里面*/
    l7=l7+7;l12=l12-l7;
                  /* 3
    7
    2
    12升倒给7升里面*/
    l7=l7-3;l5=l5+3;
                     /* 3
    4
    5
    7升倒给5升里面*/
    l12=l12+l5;l5=l7+0;l7=l7-l7;
         /* 8
    0
    4
    5升倒给12升里面,7升倒给5升里面*/
    l12=l12-7;l7=l7+7;
                   /*
  1
    7
    4
    12升倒给7升里面*/
    l7=l7-1;l5=l5+1;
                     /*
  1
    6
    5
    7升倒给5升里面*/
    l12=l12+l5;l5=l5-l5;
                 /*
  6
    6
    0
    5升倒给12升里面,得到最终结果*/
    printf("l12=%d
    l7=%d
    l5=%d\n",l12,l7,l5);
    system("pause");
}
偶是小菜鸟,只会用赋值的方法做,不知到有没有比较快的方法?