A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

cherishjoy

中级黑马

  • 黑马币:25

  • 帖子:33

  • 精华:0

本帖最后由 cherishjoy 于 2016-4-4 02:23 编辑

        今晚有点无聊,同学给发了一个一道公务员考试的题,所以就随手算了算.
题目如下:一片草地上的草,每天均匀地生长,如果放24头牛,则6天吃完草,21头8天吃完,问:如果放16头牛,几天可以吃完草?
        打开Xcode,开始调试:代码如下,比较基础,就不多说什么说明了.
#include <stdio.h>
int main()
{
    //1.定义草地均匀增长量grassCount,天数dayCout的变量并进行赋值
    int initialGrassNum = 1,dayCout = 9; //因为一开始草就存在,所以草的量不可能是0,所以假设它是1,经过计算的同学会发现其实计算天数跟grassCount具体值是多少没有关系
    //2.定义牛每天吃草的变量并初始化
    double eatNum = 0;
    for (; ; )
    {
        //3.这个表达式是联立问题中得两个条件得到的,假设初始草地有X的草,根据:X + 6*grassCount = 24*6*eatNum 和 X + 8*initialGrassNum = 21*8*eatNum
        eatNum = initialGrassNum*1.0/12;
        for (; ; dayCout ++)
        {
            if ((24 * 6 * eatNum - 6 * initialGrassNum == 21 * 8 * eatNum - 8 * initialGrassNum)&& (16 * dayCout * eatNum - dayCout * initialGrassNum == 24 * 6 * eatNum - 6 * initialGrassNum))
            {
                printf("牛还没开始吃时,草地原有%.2lf的草\n",24 * 6 * eatNum - 6 * initialGrassNum);
                printf("16只牛吃了%d天\n平均增加的量是:%d\n每只牛每天吃:%.2lf\n",dayCout,initialGrassNum,eatNum);
                return 0;
            }
        }
    }
    return 0;
}

运行结果:
牛还没开始吃时,草地原有6.00的草
16只牛吃了18天
平均增加的量是:1
每只牛每天吃:0.08
Program ended with exit code: 0

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马