※※※大家好!我是同学〖森〗,一名计算机爱好者,今天让我们进入刷题模式。若有错误,请多多指教。
👍 点赞 ⭐ 收藏 📝留言 都是我创作的最大的动力!
目录
※※※大家好!我是同学〖森〗,一名计算机爱好者,今天让我们进入刷题模式。若有错误,请多多指教。
题目描述
一球从100米高度自由下落,每次落地后反弹回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
问题分析
第一次下落100m,故路程初始量设为100,
从第一次反弹到第二次落地时,路程为第一次反弹高度的二倍,即路程100m,高度50m;
从第二次反弹到第三次落地时,路程也为第二次反弹高度的二倍,即路程50m,高度25m,……
第十次落地时共有9次这样的过程,故循环9次。第十次反弹高度为第9次的一半。
程序源码
#include<stdio.h>
int main()
{
float h = 100, s = 100;
int i = 0, n = 0;
printf("请输入要计算第几次反弹:");
scanf("%d", &n);
for (i = 1; i < n; i++)
{
h /= 2;
s += (2 * h);
}
printf("经过的路程为%fm\n", s);
printf("第%d次反弹 %fm", n, h / 2);
return 0;
}
运行结果
举一反三
☀某人有5张2角的邮票,3张5角的邮票,问用这些邮票中的一张或几张能得到多少种不同的邮资?
☀从键盘上输入两个整数n,m。表示n只猴子顺时针围成一圈,从第一只猴子开始顺时针数到第m只猴子,令其离开队伍,然后继续数到第m只猴子,再令其离开队伍,直到最后剩下的一只猴子为大王,请输出大王编号?