C语言的一简单题目

来源:百度知道 编辑:UC知道 时间:2024/09/22 22:29:23
母鸡一只3元.公鸡一只5元.小鸡一只1/3元.如何用100元买100只鸡.

#include<stdio.h>
#include<math.h>
main()
{
int cocks,hens,chicks;
for(cocks=0;cocks<=19;cocks++)
for(hens=0;hens<=33;hens++)
{
chicks=100-cocks-hens;
if(5.0*cocks+3.0*hens+chicks/3.0==100.0)
printf("%d,%d,%d\n",cocks,hens,chicks);

}
getch();
}

运行的结果比答案少几种.
请高手看看问题,出在那里.
并指出原因.越详细越好.谢谢^_^

0,25,75
3,20,77
4,18,78
7,13,80
8,11,81
11,6,83
12,4,84
这几种结果吧,事实上这里面有几种是错的,必须满足小鸡的数量是3的倍数。你这个是对的。现实生活中有四舍五入,计算机只会取整,所以就少了几种呗。

#include<stdio.h>
#include<math.h>
void main()
{
int cocks,hens,chicks;
for(cocks=0;cocks<=19;cocks++)
for(hens=0;hens<=33;hens++)
{
chicks=100-cocks-hens;
if(5.0*cocks+3.0*hens+chicks/3.0==100.0)
printf("%d,%d,%d\n",cocks,hens,chicks);

}
}
我改成这的运行出来就4种结果