永发信息网

c语言反弹高度问题 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求在第10次落地高度

答案:3  悬赏:0  手机版
解决时间 2021-02-08 10:10
  • 提问者网友:绫月
  • 2021-02-07 16:45
答案是这样的,但是为什么初始的n是n=2呢?求各位大神帮我分析一下。
#include
main()
{
float sn=100.0,hn=sn/2;
int n;
for(n=2;n<11;n++)
{
sn=sn+2*hn;
hn=hn/2;
}
printf("%f\n",sn);
printf("%f\n",hn);
}
最佳答案
  • 五星知识达人网友:千杯敬自由
  • 2021-02-07 18:23
为什么n = 2 应该和这段代码没关系,完全可以改成0 或者1 等等,只要循环9次就行了,
或许本代码的作者是这样想的:从第二次落地前开始计算,这里的2代表第二次落地,循环一只运行到第10次球落地结束...
全部回答
  • 1楼网友:西风乍起
  • 2021-02-07 19:35
main() { float sn=100.0,hn=sn/2; int n; for(n=2;n<=10;n++) { sn=sn+2*hn; hn=hn/2; } printf("the tenth is %f meter\n",hn); }
  • 2楼网友:佘樂
  • 2021-02-07 18:40
你的这个题目是你没说清楚,还是我没理解清楚啊? 第一次落地高度是100,“每次落地后反跳回原高度的一半”,那么第二次落地高度就应该是50喽?以此类推,第三次落地高度25,...,第10次应该是0.1953125啦!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯