百钱百鸡问题

一、问题描述:

中国古代数学家张丘建在他的《算经》中提出以一个著名的“百钱百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?

二、设计思路:

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);
}
}

 

posted @ 2023-04-12 20:14  jais  阅读(268)  评论(0编辑  收藏  举报