百马百担问题,帮我看看是哪里出了问题,为什么出来结果是0哇

#include
int main()
{
int big, mid, small, sum = 0;
big = 1; small = 2; mid = 1;
do {
big++;
do {
small += 2;
do {
mid++;
if (3 * big + 2 * mid + small / 2 == 100 && big + mid + small == 100)
{
printf("big:%d\tmid:%d\tsmall:%d\n", big, mid, small);
sum++;
}

            } while (mid < 50 && mid != 0);
        } while (small < 100 && small != 10);

    } while (big < 33 && big != 0);
    printf(" % d\n", sum);

return 0;

}

int main()
{
    int big, mid, small, sum = 0;
    big = 0; small = 0; mid = 0;
    do 
    {
        big++;
        small = 0;
        do 
        {
            small += 2;
            mid = 0;
            do {
                mid++;
                if (3 * big + 2 * mid + small / 2 == 100 && big + mid + small == 100)
                {
                    printf("big:%d\tmid:%d\tsmall:%d\n", big, mid, small);
                    sum++;
                }

            } while (mid < 50);
        } while (small < 100);

    } while (big < 33);
    printf("%d\n", sum);
    return 0;
}