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

答案是这样的,但是为什么初始的n是n=2呢?求各位大神帮我分析一下。#include<stdio.h>main(){floatsn=100.0,hn=sn/2;intn;... 答案是这样的,但是为什么初始的n是n=2呢?求各位大神帮我分析一下。
#include<stdio.h>
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);
}
展开
 我来答
ustb_hxb
2013-01-04 · TA获得超过265个赞
知道小有建树答主
回答量:248
采纳率:66%
帮助的人:170万
展开全部
为什么n = 2 应该和这段代码没关系,完全可以改成0 或者1 等等,只要循环9次就行了,
或许本代码的作者是这样想的:从第二次落地前开始计算,这里的2代表第二次落地,循环一只运行到第10次球落地结束...
731711901
2013-01-04
知道答主
回答量:1
采纳率:0%
帮助的人:1557
展开全部
因为第一次落地是100,是sn的初始值,然后hn初值为hn/2,这也就是第二次落地的高度,所以从2开始
追问
谢谢你的耐心回答,但是网友ustb_hxb的回答更详细点。只能采纳他了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
维多K
2013-01-04 · TA获得超过413个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:178万
展开全部
你的这个题目是你没说清楚,还是我没理解清楚啊?
第一次落地高度是100,“每次落地后反跳回原高度的一半”,那么第二次落地高度就应该是50喽?以此类推,第三次落地高度25,...,第10次应该是0.1953125啦!
追问
估计是第二种可能吧,我只是不理解那个程序,那段程序是参考答案,是不是准确的我就不知道了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式