百鸡百钱问题,为什么我运行显示无输出?

公鸡每只5元,母鸡每只3元,小鸡3只1元。用100元买100只鸡,问公鸡、母鸡和小鸡各能买多少只?
#include
main()
{
int x, y, z;
for (x = 0; x <= 20; x++);
{
for (y = 0; y <= 33; y++);
{
z = 100 - x - y;
if (5 * x + 3 * y +z / 3.0 == 100)
{
printf("x=%d, y=%d, z=%d\n", x, y, z);
}
}
}
}

if (5 * x + 3 * y +z / 3.0 == 100)
浮点数存在精度误差,不能直接比较。你可以将等号左右两边x3
if (15 * x + 9 * y +z == 300)

for (x = 0; x <= 20; x++);
for (y = 0; y <= 33; y++);
这里的分号都是多余
for (x = 0; x <= 20; x++)
for (y = 0; y <= 33; y++)