●●●●C语言~一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。求它在第10次落地时,

来源:百度知道 编辑:UC知道 时间:2024/05/27 07:56:52
我看了很多这个题目的答案好象都错了?难道是我错了?本来公众的答案是如下:
main()
{
float sn=100.0,hn=sn/2;
int n;
for(n=2;n<=10;n++)
{
sn=sn+2*hn;/*第n次落地时共经过的米数*/
hn=hn/2; /*第n次反跳高度*/
}
printf("the total of road is %f\n",sn);
printf("the tenth is %f meter\n",hn);
} ~~结果后面小数我不太记得不过第一个SN是299多~
这个是我做的:
#include <stdio.h>
void main()
{
float s,a,i,j=0,k=0;
for(i=2,s=100;i<=10;i++)
{

s=s/2;
j=s;
k+=s;
}
printf("%f %f\n",k+100,j);
}
第一个答案是199多,我觉得我应该是正确的~请帮我看下,如果我错了~错在哪~谢谢请教。
别复制粘贴~谢谢~~

这应该是计算球共走过的路程吧
上面一个程序对
说说你为什么错吧
球运动包括两部分,落下和弹起,你加的只是每次小球落下或弹起的高度,而没有算另一个部分