《牛客网》——华为机试在线训练——小球落地5次

风流意气都作罢 提交于 2019-12-05 02:54:08

题目描述

假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高? 

 

    /**
     * 统计出第5次落地时,共经过多少米?
     * 
     * @param high 球的起始高度
     * @return 英文字母的个数
     */
    public static double getJourney(int high)
    {
        return 0;
    }
    
    /**
     * 统计出第5次反弹多高?
     * 
     * @param high 球的起始高度
     * @return 空格的个数
     */
    public static double getTenthHigh(int high)
    {
        return 0;
    }

 

 

输入描述:

输入起始高度,int型

输出描述:

分别输出第5次落地时,共经过多少米第5次反弹多高

示例1

输入

复制
1

输出

复制
2.875
0.03125代码:
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>

int main()
{
    float nHight = 0;
    float nTotalHight = 0;

    while(scanf("%f", &nHight) != EOF)
    {
        //scanf("%f", &nHight);
        if(nHight <= 0)
        {
            return 0;
        }

        int nTimes = 5;
        nTotalHight = nHight;
        while(nTimes > 1)
        {
            nTotalHight += 2 * nHight / 2.0;
            nHight /= 2.0;
            nTimes--;
        }

        nHight /= 2;

        printf("%.0f\n%.2f\n", nTotalHight + 0.5, nHight);
        nHight = 0;
        nTotalHight = 0;
    }
    

    system("pause");
    return 0;
}

 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!