当前位置: 代码迷 >> C语言 >> 请问编译后怎么会是这样的结果?
  详细解决方案

请问编译后怎么会是这样的结果?

热度:178   发布时间:2008-05-02 01:44:05.0
请问编译后怎么会是这样的结果?
void main()
{
int cocks=0,hens,chicks;
while(cocks<=19)
   {
     hens=0;
     while(hens<=33)
       {
      chicks=100 - cocks- hens;
      if(5.0*cocks+3.0*hens+chicks/3.0==100.0)
         printf("%d %d %d\n",cocks,hens,chicks);
      hens++;
       }
     hens++;
   }

}

这是那个什么百钱买百鸡的问题.按CTRL+F9编译后,一直现0 25 75 不停的现.
刚学.不要见笑.谢谢.
搜索更多相关的解决方案: 编译  结果  cocks  void  int  

----------------解决方案--------------------------------------------------------
贴出来我一下子就看见错在哪里了.汗!
----------------解决方案--------------------------------------------------------
好像还有一个问题是算出来的结果和真实结果不一样.少了几组.
继续找原因.
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
int cocks=0,hens,chicks,n=0;
while(cocks<=19)
   {
     hens=n;
     while(hens<=33)
       {
      chicks=100 - cocks- hens;
      if(5.0*cocks+3.0*hens+chicks/3.0==100.0)
         printf("%d %d %d\n",cocks,hens,chicks);
      hens++;
       }
     n++;
     cocks++;
   }

}
----------------解决方案--------------------------------------------------------
为什么还要定义一个变量n呢?!
石油大学那个曾怡教授的视频教程里,没有这个变量.
----------------解决方案--------------------------------------------------------
恕我直言,曾教授的视频看过一二,
感觉是进度比较慢而且讲解不到位,
自己看书效果好些。
(一家之言,不同意请略过)
----------------解决方案--------------------------------------------------------
是的
----------------解决方案--------------------------------------------------------
也看书.但是就是没有那种听课的感觉.
----------------解决方案--------------------------------------------------------
边打工,边读书.很多时候都已经看不进去书上的东西了.理解力变差了.
----------------解决方案--------------------------------------------------------
代码里的 n 确实 是多余的,只是想让你知道,hens 和cocks所在的循环是不同的,不能用同一个变量来表示。
----------------解决方案--------------------------------------------------------
  相关解决方案