int main()
{
for (gj = 1 gj <= 20 gj++) //公鸡5块钱一只,100块最多买20只
for (mj = 1 mj <= 33 mj++) //同理
for (xj = 1 xj <= 300 xj += 3) //一块钱3只,每次增量为3
if ((gj + mj + xj == 100) && (gj * 5 + mj * 3 + xj / 3 <= 100)) //总量为100只鸡,且价格要在100块以内
printf ("公鸡 %d 只,母鸡 %d 只,小鸡 %d 只\n", gj, mj, xj)
return 0
}
写个三重循环来寻找购买方案。
#include <stdio.h>int main(void) {
int i,j,k,count=0
for (i=1i<=100/5i++) /*公鸡*/
for (j=1j<=100/3j++) /*母鸡*/
for (k=1k<=100*3k++) /*小鸡*/
if (i*5+j*3+k==100 && i+j+k*3==100) {
count ++
printf ("方案%d:%d只公鸡,%d只母鸡,%d只小鸡。\n",count,i,j,k*3)
printf ("100只鸡 = %d + %d + %d\n",i,j,k*3)
printf ("100元钱 = %d×5 + %d×3 + %d/3 = %d + %d + %d\n",i,j,k*3,i*5,j*3,k)
printf ("\n")
}
}
运行结果