高空坠球

2020-11-9 / 0评 / 心路历程

皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。
问皮球在第
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
---------------------------------------------------

本文共计 1308 字,感谢您的耐心浏览与评论。

声明:土豆丝不辣|版权所有,违者必究|如未注明,均为原创|转载请注明原文链接说明出处

0条回应:“高空坠球”