黑马程序员技术交流社区

标题: 无聊把公务员考试的某一道题写成的C语言程序 [打印本页]

作者: cherishjoy    时间: 2016-4-4 02:17
标题: 无聊把公务员考试的某一道题写成的C语言程序
本帖最后由 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





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2