题目描述
假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第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
输出
复制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 %.2f ", nTotalHight + 0.5, nHight); nHight = 0; nTotalHight = 0; } system("pause"); return 0; }