2007-2-13 15:56:00 百鸡问题 #include"stdio.h"int main(){ int x,y,z; x=0; while (x<=19) { y=0; while (y<=33) { z=100-x-y; if (5*x+3*y+z/3=100) printf ("%d%d%d\n",x,y,z); y++; } x++; }}这段程序也有问题?当时的我真是糊涂了,虽然现在看起来这问题很简单,就是运算符和关系符的差别了~if (5*x+3*y+z/3=100)是一个判断而不是赋值,当然就不能用=啦,改成if (5*x+3*y+z/3==100)那就没问题了!忘记了,这里还有个条件没有限制,5*x+3*y+z/3==100因为是整型,所以遇到z/3的时候容易出问题,要不加个约束条件z%3==0,或者将z/3去掉,改成15*x+9*y+z==300那就没问题了!

评论