首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言解決小球自由落體反彈問題:總路程與第10次反彈高度

     編輯:關於C語言

問題描述

小球從 100 米高度落下,每次落地反彈回原高度一半,再落下。求:

  1. 第 10 次落地時,總共經過多少米?
  2. 第 10 次反彈高度?

完整程式碼

#include 

int main() {
    int i;
    double sum = 100;   // 第一次下落 100m
    double h = 100;     // 當前高度
    for (i = 0; i < 10; i++) {
        h = h / 2;          // 反彈高度
        sum += h * 2;       // 反彈上去 + 落下來
    }
    printf("總路程: %lf\n", sum);
    printf("第10次反彈高度: %lf\n", h);
    return 0;
}

邏輯驗證

i動作h(反彈高度)sum 增量sum 累計
0初始下落50+100100
1第1次反彈上+落25+100200
2第2次反彈上+落12.5+50250
……………
9第10次反彈上+落0.1953125+0.390625299.609375

迴圈執行 10 次(i=0~9),對應第 1~10 次反彈。最終 h 為第 10 次反彈高度。

執行結果

總路程: 299.609375
第10次反彈高度: 0.195313
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved