关于C语言视频里百钱百鸡的问题

[复制链接]
查看11 | 回复4 | 2009-1-26 03:06:07 | 显示全部楼层 |阅读模式
为什么视频里的答案组合有7种;然后http://portal.sdteacher.gov.cn/Course/shuxue/Homework/883810.aspx这个网址里面的答案是3种;http://zhidao.baidu.com/question/71871327.html这个网址里面是4种。而我编写的程序也是答案组合是4种:
#inchude
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++;

}

cocks++;

}
}
这个是我写的程序,答案的组合也是4种,跟视频不同的是它有小数点而我的没有,但是我不明白为什么浮点型数据容易出错呢?到底这题的答案究竟是有多少组呢,是4组还是7组呢?希望高手能指点一下罗?
iirsnake,我确实是将我的程序放到TC3.0里面去编译了一下,得出的结果确实是4组。
那你说这里是不是应该只用整型数据而不用浮点型数据呢?因为鸡的数目是没有小数的啊?希望再指点一下了啊!

回复

使用道具 举报

千问 | 2009-1-26 03:06:07 | 显示全部楼层
楼主不要说笑了,为什么我将你的程序输入后得到了七组数据呢?正确答案是四种:0 25 75 4 18 78 8 11 81 12 4 84 按照楼主的程序,输出结果为7种:0 25 753 20 774 18 787 13 808 11 8111 6 8312 4 84因为在c语言中如果两个整型数据相除其结果为整型,以3 20 77这组数据为例:77/3为25,加上前面的5*3,3*20满足条件。而77/3.0的结果是25.6与前两项相加不是100.0,故可以排除。 这个程序需要非常注意整型与浮点型数据的特点,否则极易出错。...
回复

使用道具 举报

千问 | 2009-1-26 03:06:07 | 显示全部楼层
呵呵,自己动脑子写一个自己的方法就可以解出来了代码Apple就不写了首先,全整数计算的情况下有没有浮点数的必要其次,在计算出结果以后要不要经过验算最后,想一个数学上的解决办法用C语言描述出来如果不想程序跳掉的话,在退出之前加个getchar();...
回复

使用道具 举报

千问 | 2009-1-26 03:06:07 | 显示全部楼层
你会不会自己用数学的方法解决?如果会,就自己解决!可以如我QQ群 52255253...
回复

使用道具 举报

千问 | 2009-1-26 03:06:07 | 显示全部楼层
几组我忘记了,但是貌似我感觉他是把百元百鸡搞错了出的7组,也许按他的方法100小鸡也算答案.......不符合百元百鸡的内涵,它的内涵是每种都有...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行