有以下两个代码都是百钱百鸡问题, 一个是用for( ; ; )语句, 一个用while( ), 为什么就不能显示结果呢?请各位大侠指教,谢谢了. # include"stdio.h" main() { int x=0,y=0,z=0,j=0; printf("possible soluitions to buy 100 fowls whith 100 yunan \n"); for(x=0;x<=20;x++) for(y=0;y<=33;y++) { z=100-x-y; if(z%3==0&&5*x+3*y+z/3==100) printf("%2d:cock=%-2d hen=%-2d chicken=%-2d\n",++j,x,y,z); }
} # include"stdio.h" main() { int x=0,y=0,z=0,j=0; printf("possible soluitions to buy 100 fowls whith 100 yunan \n"); while(x<=20) { x++; while(y<=33) {y++; z=100-x-y; if(z%3==0&&5*x+3*y+z/3==100) printf("%2d:cock=%-2d hen=%-2d chicken=%-2d\n",++j,x,y,z); } }
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
同志啊,先执行循环再执行自加。
还有下面的还少}噢
----------------解决方案--------------------------------------------------------
# include"stdio.h"
main()
{
int x=0,y=0,z=0,j=0;
printf("possible soluitions to buy 100 fowls whith 100 yunan \n");
while(x<=20)
{
while(y<=33)
{ z=100-x-y;
if(z%3==0&&5*x+3*y+z/3==100)
printf("%2d:cock=%-2d hen=%-2d chicken=%-2d\n",++j,x,y,z);
y++;
}
x++;
}
}
看这样OK 吗/?
----------------解决方案--------------------------------------------------------
谢谢你的指点, 可是运行结果仍只是一句话“possible soluitions to buy 100 fowls whith 100 yunan” 能帮我再分析一下吗?谢谢
----------------解决方案--------------------------------------------------------
对不起,我把Y++和X++的位置写反了,
当现在只输出一行答案,
1:cock=0 hen=25 chicken=75
本来应有4行答案的,
1:cock=0 hen=25 chicken=75
2:cock=4 hen=18 chicken=78
3:cock=8 hen=11 chicken=81
4:cock=12 hen=4 chicken=84
----------------解决方案--------------------------------------------------------