老牛来学习 发表于 2020-3-27 21:10:18

C语言

题目要求:输出男人+女人+小孩的数量等于45的情况,用穷举法

#include<stdio.h>

int main()
{
    float man,woman,child;

    for(man = 0;man < 45;man+=3)    //我设置的是每次加3、2、1但是看输出结果,明显男女小孩都是1??为什么
    {
      for(woman = 0; woman < 45; woman+=2)    //加二
      {
            for(child = 0; child < 45;child+=0.5)       //加0.5
            {
                if(man + child + woman == 45)
                {
                  printf("%.2fman+%.2fwoman+%.2fchild = 45\n",man,woman,child);
                }
            }
      }
    }

}

墨羽岚 发表于 2020-3-27 21:13:55

刚刚有个帖子也是讲这个的https://fishc.com.cn/thread-162648-1-1.html

sunrise085 发表于 2020-3-27 21:17:13

运行结果没问题啊。
结果的确是男每次加3,女每次加2,小孩每次加1(因为要凑整数,加0.5凑不成整数)

老牛来学习 发表于 2020-3-27 21:34:32

sunrise085 发表于 2020-3-27 21:17
运行结果没问题啊。
结果的确是男每次加3,女每次加2,小孩每次加1(因为要凑整数,加0.5凑不成整数)

刚打错了!!我设置的是小孩每次加0.5,所以要得到45,小孩怎么可能出现单数呢?
这个图片好像只能这样竖着。。。

下面是答案

sunrise085 发表于 2020-3-27 21:51:55

老牛来学习 发表于 2020-3-27 21:34
刚打错了!!我设置的是小孩每次加0.5,所以要得到45,小孩怎么可能出现单数呢?
这个图片好像只能这 ...

这个答案明显是错的啊
女人每人搬两块,怎么可能出现15、5,难道有半个人吗?
页: [1]
查看完整版本: C语言