答案:#include<stdio.h>
int main()
{
int a=0,b,c;
while(a<=20)
{
for(b=0;b<=33;b++)
for(c=0;c<=300;c=c+3)
{
if(a+b+c==100 && a*5+b*3+c/3==100)
printf("鸡翁:%d\n 鸡母:%d\n 鸡雏:%d\n\n\n",a,b,c);
}
a++;
}
return 0;
}
其他:这个用不着50行啊,简单的很
#include <stdio.h>
void main()
{
int cocks=0,hens,chicks;
while(cocks<=20)
{
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\n",cocks,hens,chicks);
hens++;
}
cocks++;
}
} #include <stdio.h>
int main(void)
{
int cocks,hens,chicks;
for(cocks=0;cocks<=20;cocks++) //公鸡最多20只,20*5=100
{
for(hens=0;hens<=33;hens++)//母鸡最多33只,33*3=99
{
chicks=100-cocks-hens; //小鸡数量
if(chicks%3 != 0) //小鸡数量不是3的倍数,换下个数
continue;
/*变形后的公式:7*cocks+4hens = 200,故hens++后,左边会越来越大*/
if(5*cocks + 3*hens + chicks/3 > 100)//总价格大于100时,母鸡数量会越来越多
// 跳出母鸡所处循环,
break;
if(5*cocks + 3*hens + chicks/3 == 100) //所有的鸡价格是100
printf("公鸡%d只,母鸡%d只,小鸡%d只\n\n",cocks,hens,chicks);
}
}
return 0;
} ##include <stdio.h>
void main ()
{
int cock,hen;
for (cock = 0; cock <= 20; cock++)
for (hen =0; hen <= 100/3; hen++)
if (cock * 5 + hen * 3 + (100 - cock - hen) *1 <= 100)
printf("cock:%d, hen:%d, chick:%d\n", cock, hen, 100 - cock - hen);
}
发现你的题目有点问题
怎么买都是全买小鸡,公鸡母鸡数量全为0
上一个:新手自学C语言,要怎么入手?
下一个:在C里面,假如我需要实现a^3,请问使用宏定义实现和自定义函数实现有什么区别?与要实现的计算的复杂度有关