该程序是模拟一个球从高度为100米的地方自由落下,每次弹起时反弹高度减半的过程。程序输出了球第十次落地时经过的距离和第十次反弹后的高度。
具体实现:
1. 定义变量high表示球当前的高度,初始值为100;定义变量distance表示球当前已经经过的距离,初始值也为100(因为球第一次落地时已经经过了100米)。
2. 使用for循环模拟球的运动过程,循环10次,即模拟球落地和反弹的过程10次。
3. 在循环中,每次将球的高度除以2,表示球反弹后高度减半;然后将球反弹的距离加到distance中,表示球经过了这段距离;最后再将球下落的距离加到distance中,表示球又经过了这段距离。
4. 循环结束后,输出球第十次落地时经过的距离和第十次反弹后的高度。
需要注意的是,程序中使用了double类型来存储高度和距离,以保证精度。同时,在输出结果时,使用了%.6lf格式控制符来保留小数点后6位。