中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?

实现过程:
(1)使用 for 语句对 3 种鸡的数嫌在事先确定好的范围内进行穷举并判断,对满足条件的 3 种鸡的数量按指定格式输出,否则进行下次循环。

(2) 程序的代码如下:

#include <stdio.h>

int main(void) {
   int cook, hen, chick;   //定义变童为基本整型

    for (cook = 0; cook <= 100; ++cook) {
        for (hen = 0; hen <= 100; ++hen) {
            for (chick = 0; chick <= 100; ++chick) {
                if ((5 * cook + 3 * hen + chick / 3) == 100 && chick % 3 == 0 && cook+hen+chick==100)
                    //(5 * cook + 3 * hen + chick / 3) == 100   判断钱数是否等于 100
                    //chick % 3 == 0    判断小鸡数是否能被 3 整除
                    //cook+hen+chick==100  判断购买的鸡数是否等于 100
                    printf("公鸡 %2d 只,母鸡 %2d 只,小鸡 %2d 只\n", cook, hen, chick);
            }
        }
    }
    return 0;
}

输出结果:

公鸡  0 只,母鸡 25 只,小鸡 75 只
公鸡  4 只,母鸡 18 只,小鸡 78 只
公鸡  8 只,母鸡 11 只,小鸡 81 只
公鸡 12 只,母鸡  4 只,小鸡 84 只

###技术要点: ###
根据题意设公鸡、母鸡和雏鸡分别为 cock、hen 和 chick,如果 100 元全买公鸡,那么最多能买 20 只,所以 cock 的范围是大于等于 0 且小于等于 20;如果全买母鸡,那么最多能买 33 只,所以 hen 的范围是大于等于 0 且小于等于 33;如果 100 元钱全买小鸡,那么最多能买 99 只(根据题意小鸡的数量应小于 100 且是 3 的倍数)。

在确定了各种鸡的范围后进行穷举并判断,判断的条件有以下 3 点:
(1) 所买的 3 种鸡的钱数总和为 100。
(2) 所买的 3 种鸡的数量之和为 100。
(3) 所买的小鸡数必须是 3 的倍数。