百钱买百鸡的问题?
#include <stdio.h>
void main()
{
int cocks,hens,chicks;
cocks = 0;
while(cocks <= 19)
{
hens = 0;
while(hens <= 33)
{
chicks = 100 - hens - chicks;
if(5*cocks + 3*hens + chicks/3 == 100)
printf("%d,%d,%d",cocks,hens,chicks);
}
hens = hens + 1;
}
cocks = cocks + 1;
}
程序没问题,调试也通过了,但是窗口中没出结果,什么原因?
TC、VC都试过了,情形一样。
问题点数:10、回复次数:6Top
1 楼joephoenix(迎风的狼)回复于 2004-08-02 08:50:15 得分 10
#include <stdio.h>
void main()
{
int cocks,hens,chicks;
cocks = 0;
hens = 0;
while(cocks <= 19)
{
while(hens <= 33)
{
chicks = 100 - hens - chicks;
if(5*cocks + 3*hens + chicks/3 == 100)
printf("%d,%d,%d",cocks,hens,chicks);
hens = hens + 1;
}
cocks = cocks + 1;
}
}
试试,不知道对不对!好久没用c了!!!
Top
2 楼redoging(幽灵之舞)回复于 2004-08-02 10:28:36 得分 0
chicks = 100 - hens - chicks;
这个有问题吧!
Top
3 楼redoging(幽灵之舞)回复于 2004-08-02 10:32:32 得分 0
chicks = 100 - hens - cocks;这样应该就没问题了Top
4 楼chenting27(汀子)回复于 2004-08-02 10:41:31 得分 0
粗心,改了,但是还是调不出结果。Top
5 楼redoging(幽灵之舞)回复于 2004-08-02 11:35:46 得分 0
#include <stdio.h>
#include <conio.h>
void main()
{
int cocks,hens,chicks;
cocks = 0;
while(cocks <= 19)
{ hens = 0;
while(hens <= 33)
{
chicks = 100 - hens - cocks;
if(5*cocks + 3*hens + chicks/3 == 100)
printf("%d,%d,%d\n",cocks,hens,chicks);
hens = hens + 1;
}
cocks = cocks + 1;
}
getch();
}Top
6 楼darkstar21cn(≮天残≯无畏)(死亡进行时)回复于 2004-08-02 11:41:44 得分 0
chicks = 100 - hens - cocks;
不能保证chicks能被3整除,而
*cocks + 3*hens + chicks/3 == 100,是会强制转化为整型的。建议内循环使用:
chicks = 0;
while (chicks <= 100 - cocks) {
hens = 100 - chick - cocks;
if(5*cocks + 3*hens + chicks/3 == 100)
printf("%d,%d,%d",cocks,hens,chicks);
chicks += 3;
}
Top




