百钱白鸡问题

来源:互联网 发布:数据统计问题有哪些 编辑:程序博客网 时间:2024/06/10 12:01

    一只公鸡值五钱;一只母鸡值三钱;三只小鸡值一钱,现在想用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?

#include<stdio.h>main(){    int cock,hen,chicken;    for(cock=0; cock<=20; cock++)        for(hen=0; hen<=33; hen++)            for(chicken=0; chicken<100; chicken++)            {                if((5*cock+3*hen+chicken/3.0==100)&&(cock+hen+chicken==100))                    printf("公鸡的数量:%2d\t母鸡的数量%2d\t小鸡的数量%2d\n ",cock,hen,chicken);            }return 0;}

需要注意点是:

1.问题分析:用百钱如果在1买公鸡,最多可以买20只;但是题目要求要一百只,由此可知,所买公鸡总数在0~20。同理,母鸡数量0~33,小鸡可以买300只,但题目要求,所以知道小鸡最多100只。

2.算法设计:对于不定方程组,我们可以利用穷举循环的方法来解决,也即是通过对未知数可变范围的穷举,验证方程在什么情况下成立,从而得到相应的解。可用语句for(cock=0;cock<=20;cock++);实现。

3.知识点补充:while(表达式){循环体};do{循环体}while(表达式);for(表达式1;表达式2;表达式3){循环体};

4.关键点  控制条件即为语句  

if((5*cock+3*hen+chicken/3.0==100)&&(cock+hen+chicken==100))

注意:C语言中两个整数相除得到的结果仍为整数,“/”两边有一个数为float型得到的结果即为float型,在以后的编程时要注意对“/”两边数据类型的处理。

原创粉丝点击