关于自由落体运动的讨论

iceprincexin 2004-06-25 09:59:13
原题:一球从100m高度自由落下,每次落地后反弹回原来高度的一半,在落下。求它在第10次落地时,共进过多少m?第10次反弹的高度是?
源代码:
main()
{float sn=100,hn=sn/2; 我觉得此处的hn恒等于sn\2,正确的写法应该把此句写到
int n; for循环里。
for (n=2;n<=10;n++)
{sn=sn+2*hn;
hn=hn/2;
}
printf("第10次落地时共经过%f米.\n",sn);
printf("第10次反弹%f米.\n",hn)
}
...全文
203 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
MooseWOler 2004-06-25
  • 打赏
  • 举报
回复
main()
{float sn=100,hn=sn/2; //这样写没什么不妥,是为变量赋初值
int n; //弹起的次数
for (n=2;n<=10;n++)
{sn=sn+2*hn;
hn=hn/2; //考虑n=2,运行前hn=50,运行后hn=25;n=3时运行前hn=25,运
//行后hn=12.5,依次取一半

}
printf("第10次落地时共经过%f米.\n",sn);
printf("第10次反弹%f米.\n",hn)
}

hwbin2008 2004-06-25
  • 打赏
  • 举报
回复
楼主一定弄错了
MooseWOler 2004-06-25
  • 打赏
  • 举报
回复
自由落体落地反弹应该是阻尼运动,前几次内可以被1阶函数近似的很好,不过如果问题并不是问你10次而是20次或者30呢?
考虑用阻尼运动函数来编写看
pacman2000 2004-06-25
  • 打赏
  • 举报
回复
sn是总共经过的路径,hn是第n次跳的高度,hn怎么会恒等于sn/2呢。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧