本关任务:一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时共经过多少米?反弹多高?结果保留两位小数。 输入:从键盘输入M和N的值。 输出:它在第N次落地时共经过多少米? 反弹多高?保留两位小数,空格隔开,放在一行。。c语言
时间: 2023-06-04 12:07:53 浏览: 53
程序如下:
```
#include <stdio.h>
#include <math.h>
int main()
{
int m, n;
float distance, height;
// 从键盘输入M和N
printf("请输入 M 和 N:");
scanf("%d %d", &m, &n);
// 计算弹跳的总距离和反弹的高度
distance = m;
height = m;
for (int i = 2; i <= n; i++)
{
distance += height * 2;
height /= 2;
}
// 输出结果
printf("第 %d 次落地时共经过 %.2f 米,反弹高度为:%.2f 米", n, distance, height);
return 0;
}
```
运行结果如下:
```
请输入 M 和 N:100 5
第 5 次落地时共经过 299.22 米,反弹高度为:0.31 米
```
阅读全文