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

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?下面是我写的程序,但是不知道问题出现在哪里?... 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
第10次落地时,共经过多少米?第10次反弹多高?
下面是我写的程序,但是不知道问题出现在哪里?请各位帮帮忙看一下,谢谢各位高手。
#include <stdio.h>
void main()
{ int i;
float h,t;
h=100.0;
t=1.0;
for(i=2;i<=10;i++)
{ t=t/2;
h=h*t;
h=h+2*h;
}
printf("%.2f %.2f\n",h,h);
getchar();
}
展开
 我来答
jackson王子
推荐于2017-09-06 · TA获得超过354个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:129万
展开全部

你的程序逻辑错误,你是不是没弄清楚哪个变量是高度,哪个变量是经过的距离?

以下程序,sum为经过的距离,hight为高度

#include <stdio.h>

#include <cstdlib>

int main()

{ int i;

  float sum,hight;

  sum=100.0;

  hight=100.0;

  for(i=2;i<=10;i++)

  { 

    hight /= 2;

    sum += hight * 2;

    printf("第%d次:%.2f  %.2f\n", i, sum, hight);

  }

  printf("%.2f  %.2f\n", sum, hight);

  system("pause");

  return 0;

}

追问
您的这个运行环境是哪个  ?能给我一份吗  ?我现在用的是Turbo C 2.0,感觉不是很好用   ,谢谢您的回答
追答
我用的是DEV C++,比较小,网上链接一大堆,百度下
你要是经常编程的话建议用Virtual Stdio 2008以上,这个很大,但是功能也多,初学者要适应一段时间
艾特不特
2018-08-08
知道答主
回答量:1
采纳率:0%
帮助的人:841
展开全部
我用的是python 3写的,可以参考一下吧。为了能把两个不同的结果要求放在一个循环里,因此只考虑到了9次循环,并没有使用10次循环。
def drop(high):
length=height=0.0
tmp=high
#循环9次,下标从0开始
for i in range(9):
length+=tmp
tmp=tmp/2
height=tmp
print('第%d次落地的路程(没有算最初的100米)%f'%(i+2,length))
print('第%d次弹回的高度(只算了前9次)%f'%(i+1,height))
print(length+high)#第一次落地的100米距离应该额外加上
print(height/2)#以上的结果只是第九次反弹的高度,应该再除以2得到第10次的反弹高度
# for i in range(10):
# high=high/2
# height=high
# print(height,end=' ')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈贞宇66
2021-01-06
知道答主
回答量:1
采纳率:0%
帮助的人:536
展开全部
#include"stdio.h"
int main(){
double up;
double distance;
double down=100;
for(int i=1;i<=9;i++){//i 是反弹次数;
down=down/2;
up=down;

distance=down+up+distance ;
}
printf("路程数是:%f\n",distance+100);//最后还要 加上一百。
printf("第10次反弹高度是:%f",up/2);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式