当前位置: 代码迷 >> C语言 >> [求助]请大侠们指教-->georgezf转移
  详细解决方案

[求助]请大侠们指教-->georgezf转移

热度:203   发布时间:2005-08-19 13:11:00.0
[求助]请大侠们指教

有以下两个代码都是百钱百鸡问题, 一个是用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); } }

搜索更多相关的解决方案: 指教  

----------------解决方案--------------------------------------------------------
[求助]请大侠们指教-->georgezf转移
对不起,没有说清楚,用语句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");
   while(x&lt;=20)
   {
    while(y&lt;=33)
      {   z=100-x-y;
          if(z%3==0&amp;&amp;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
----------------解决方案--------------------------------------------------------
  相关解决方案