请问编译后怎么会是这样的结果?
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 不停的现.
刚学.不要见笑.谢谢.
----------------解决方案--------------------------------------------------------
贴出来我一下子就看见错在哪里了.汗!
----------------解决方案--------------------------------------------------------
好像还有一个问题是算出来的结果和真实结果不一样.少了几组.
继续找原因.
----------------解决方案--------------------------------------------------------
#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所在的循环是不同的,不能用同一个变量来表示。
----------------解决方案--------------------------------------------------------