1. 程式人生 > 其它 >一個球從100米高度自由下落,每次落地後反跳回原來的高度的一半,再落下;

一個球從100米高度自由下落,每次落地後反跳回原來的高度的一半,再落下;

技術標籤:C語言程式設計程式語言

求它在第10次落地時,共經過多少米?第10次反彈多高?

#include <stdio.h>

void process(double h, int t)
{
  double H = h; //將原始高度保留
  int T = t;
  double sum = 0;
  while (t > 0)
  {
    // 1、2、3、4...
    //100、50、25、12.5
    sum = sum + h; //每次落地前高度之和。
    h = h / 2;
    t--;
  }
  printf("第%d次下落共經過:%lf米\n"
, T, 2 * sum - H); //除第一次以外每一次都是先彈起,再下落 printf("第%d次反彈的高度是:%lf米\n", T, h); } int main() { int hight = 100; int times = 10; process(hight, times); return 0; }

執行結果
在這裡插入圖片描述