【蓝蓝计算机考研算法训练二期】—day03

86 阅读1分钟

4、一个小球从10m处落下,每次的弹回之前的高度一半,请问小球在静止之前一共走过多少距离?

思路:令初始的sum值为10,设置一个for循环,i为浮点型,i的初始值为5,每次循环i=i/2。每次循环sum=sum+2*i,依次类推,最后输出sum的值。 代码实现:

#include <stdio.h>

int main() {
    float road=10.0;
    for(float i=5.0;i>0;i/=2.0){
        road=road+2*i;

    }
    printf("%f",road);
}