侧边栏壁纸
博主头像
侯秀荣

贪婪和恐惧是人性的两大弱点,
人类几万年,人性也没进步1厘米。

  • 累计撰写 172 篇文章
  • 累计收到 3 条评论

高空坠球

2020-11-9 / 0 评论 / 1370 阅读

皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。

问皮球在第
n次落地时,在空中一共经过多少距离?

n次反弹的高度是多少?


include <stdio.h>



int main() {

  float height;

  int count;

  printf("请输入高度height:");

  scanf("%f", &height);

  printf("请输入次数count:");

  scanf("%d", &count);



  float sumHeight,currentHeight;

  sumHeight = height;

  currentHeight = height;



  if(count <= 0){

   printf("计算次数不能小于0,count=%d \r\n",count);

   return 0;

  }



  if(count==1){

   printf("第一次反弹的高度height=%f \r\n",height);

   printf("第一次空中经过的总距离sumHeight=%f \r\n",sumHeight);

  }



  for(int i=2; i <= count; i++){

    currentHeight = currentHeight/2;

    sumHeight = sumHeight + currentHeight;

  }



  printf("第%d次反弹的高度currentHeight=%f \r\n", count, currentHeight);

  printf("第%d次落地时空中经过的总距离sumHeight=%f \r\n",count, sumHeight);

  return 0;

}

---------------------------------------------------

houxr@houxiurong:~/Downloads$ gcc height.c  

houxr@houxiurong:~/Downloads$ a.out 

请输入高度height:100

请输入次数count:3

第3次反弹的高度currentHeight=25.000000 

第3次落地时空中经过的总距离sumHeight=175.000000

---------------------------------------------------


评论一下?

OωO
取消