百钱百鸡问题
一、问题描述:
中国古代数学家张丘建在他的《算经》中提出以一个著名的“百钱百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?
二、设计思路:
1、定义公鸡cook,母鸡hen,小鸡的chicken。根据钱只有100及只买一百只鸡可得公鸡最多买20只,母鸡最多买33只,小鸡最多买100只。
cook,hen,chicken的初始值设为0
2、设置三层循环,分别对应公鸡,母鸡,小鸡的数量。
for(cook=0;cook<=20;cook++)
for(hen=0;hen<=33;hen++)
for(chicken=0;chicken<=100;chicken++)
3、利用if循环控制语句,选出符合条件5*cook+3*hen+chicken/3.0=100和cook+hen+chicken=100的循环变量
4直到所有循环变量筛选完毕,输出变量。
三、程序流程图
四、代码实现
#include <stdio.h> int main() { int cook,hen,chicken; for(cook=0;cook<=20;cook++)/*外层循环控制公鸡的数量取值范围0~20*/ for(hen=0;hen<=33;hen++)/*内层循环控制母鸡的数量取值范围0~33*/ for(chicken=0;chicken<=100;chicken++)/*内层循环控制小鸡的数量取值范围0~100*/ { if((5*cook+3*hen+chicken/3.0==100)&&(cook+hen+chicken==100))/*条件控制*/ printf("cook=%2d,hen=%2d,chicken=%2d\n",cook,hen,chicken); } }