C语言刷题随记 —— 自由落体的球

123 阅读1分钟

在这里插入图片描述\

文章目录

题目

一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10 次落地时,共经过多少米?第 10 次反弹多高?

思路

利用循环不断求高度的一半并相加即可。

题解

#include <stdio.h>

int main()
{
    float sn=100.0,hn=sn/2;
    int n;
    
    for(n=2;n<=10;n++)
    {
        sn=sn+2*hn; //第 n 次落地时共经过的米数
        hn=hn/2;    //第 n 次反跳高度
    }
    
    printf("共经过 %.2f 米\n",sn);
    printf("地十次反弹高 %.2f 米\n",hn);
}

样例输出

在这里插入图片描述

在这里插入图片描述