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);
}
你的这个题目是你没说清楚,还是我没理解清楚啊?
第一次落地高度是100,“每次落地后反跳回原高度的一半”,那么第二次落地高度就应该是50喽?以此类推,第三次落地高度25,...,第10次应该是0.1953125啦!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯