按照题目要求编写的解决百钱买百鸡问题的C语言程序如下
#include
int main()
{
int a,b,c;
for (a = 0; a <= 20; a++)
for (b = 0; b <= 33; b++)
{
c = 100 - a - b;
if (c%3==0 && 5*a + 3*b +c/3 == 100)
printf(“鸡翁%d只,鸡母%d只,鸡雏%d只\n”,a,b,c);
}
return 0;
}
穷尽法是利用计算机计算迅速的“笨”办法得到结果,利用多重循环,只要列出x,y,z的所有可能性设置循环起止值即可
公鸡x取值范围: 0只~100元/2元只
母鸡y取值范围: 0~100/3
小鸡z取值范围: 0~200只(2只2只地买,省得多出0.5元钱不好算整数100元)
#include
void main() { int x,y,z;
for ( x=0;x<=100/2;x++ )
for ( y=0;y<=100/3;y++ )
for ( z=0;z<=200;z+=2 )
if ( x+y+z==100 ) if ( x*2+y*3+z/2==100 ) printf(“%d %d %d\n”,x,y,z);
}
头文件都错了,if语句还有多余约束条件,该有的约束条件又没有
#include
int main()
{
int a,b,c;
for(a = 0; a <= 100 / 5; a++)
{
for(b = 0; b <= (100 - a * 5) / 3; b++)
{
c = (100 - a*5 - b*3) * 3;
if(a + b + c == 100)
printf(“公鸡有%d只,母鸡有%d只,小鸡有%d只\n”, a, b,c);
}
}
}
for(z=3;z<100;z+=3)
{
if((x+y+z)==100&&(5*x+3*y+z)==100)
printf(“公鸡个数为:%d 母鸡个数为:%d 小鸡个数为:%d\n”,x,y,z);
}
最里层的这个For循环没有括起来啊,楼主写代码要细心啊