百钱白鸡问题

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

#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型,在以后的编程时要注意对“/”两边数据类型的处理。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值