#include <stdio.h> int main(){ // 初始化总距离sn为100米,初始高度hn为50米 double sn=100,hn=sn/2; int n; // 循环进行10次落地和反弹的过程 for(n=2;n<=10;n++){ // 每次落地后,总距离增加两倍的当前高度 sn=sn+2*hn; // 每次反弹后,高度减半 hn=hn/2; } // 打印第10次落地时共经过的距离 printf("第10次落地时共经过%f米\n",sn); // 打印第10次反弹的高度 printf("第10次反弹%f米\n",hn); return 0; }
一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米,第10次反弹多高。
![](https://img-home.csdnimg.cn/images/20240711042549.png)