void main ()
{
int cocks=0,hens,chicks;
while(cocks<=19);
{
hens=0;
while(hens<=33);
{
chicks=100-cocks-hens;
if(5*cocks+3*hens+chicks/3==100)
printf("%d,%d,%d\n",cocks,hens,chicks);
hens=hens+1;
}
cocks=cocks+1;
}
}
第1个回答 2012-04-01
while(cocks<=19) 和while(hens<=33)后面的分号删掉,就好了
第2个回答 2012-04-01
话说while后边不加分号,两个while那行的分号先删掉,虽然不是编译错误,但是运行的时候会死循环。然后……好像就没错了……
你能说一下它提示哪一行有错么?追问
你能说一下它提示哪一行有错么?追问
void main ()
{
int cocks=0,hens,chicks;
while(cocks<=19)
{
hens=0;
while(hens<=33)
{
chicks=100-cocks-hens;
if(5*cocks+3*hens+chicks/3==100)
printf("%d,%d,%d\n",cocks,hens,chicks);
hens=hens+1;
}
cocks=cocks+1;
}
}
我改成了这样的,然后提示的是没有错误了,但是最后运行时却什么都没出来,额
第3个回答 2012-04-01
while后边的判断一般是不加分号的。去掉这两个分号就可以啦。
还有,if(5*cocks+3*hens+chicks/3==100)这样的语句,一般表达式用括号括起来会更容易理解,也会避免一些错误。
还有,if(5*cocks+3*hens+chicks/3==100)这样的语句,一般表达式用括号括起来会更容易理解,也会避免一些错误。
第4个回答 2012-04-01
void main ()
{
int cocks=0,hens,chicks;
while(cocks<=19);
{
hens=0;
while(hens<=33);
{
chicks=100-cocks-hens;
if(5*cocks+3*hens+chicks/3==100)
printf("%d,%d,%d\n",cocks,hens,chicks);
hens=hens+1;
}
cocks=cocks+1;
}
}
第一个while的括号后面不要分号吧...
{
int cocks=0,hens,chicks;
while(cocks<=19);
{
hens=0;
while(hens<=33);
{
chicks=100-cocks-hens;
if(5*cocks+3*hens+chicks/3==100)
printf("%d,%d,%d\n",cocks,hens,chicks);
hens=hens+1;
}
cocks=cocks+1;
}
}
第一个while的括号后面不要分号吧...