一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 结果保留两位小数。c语言
时间: 2023-11-20 17:23:22 浏览: 205
1_落地反弹_小球自由落体计算_
#include <stdio.h>
int main() {
double M; // 初始高度
int N; // 落地次数
scanf("%lf %d", &M, &N);
double height = M; // 当前高度
double distance = M; // 总下落距离
for (int i = 1; i <= N; i++) {
if (i > 1) {
distance += height; // 累加上一次反弹的高度
}
height /= 2; // 反弹高度为当前高度的一半
distance += height; // 累加下落距离
}
printf("%.2lf\n%.2lf", height, distance);
return 0;
}
阅读全文