C语言 | 自由落地,求第10次落地共经过多少米

72 阅读1分钟

例57:一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。C语言编程求它在第10次落地时,共经过多少米,第10次反弹多高。

解析:读者看着道题的时候应该很容易看懂,做这样的题首先要观察一下有什么规律,这种类型的题都是有规律的,先观察出来规律,然后思考怎么写代码。读者需要注意定义变量的时候要定义浮点型的,不要定义整型。

源代码演示:

#include<stdio.h>//头文件 
int main()//主函数 
{
  double height,bounce_Height;//定义双精度浮点型变量 
  height=100;//赋初值 
  bounce_Height=height/2;//赋初值 
  int n;//定义整型变量 
  for(n=2;n<=10;n++)
  {
    height=height+2*bounce_Height;//第n次落地时共经过的米数 
    bounce_Height=bounce_Height/2;//第n次反跳高度 
  } 
  printf("第10次落地时共经过%f米\n",height);
  printf("第10次反弹%f米\n",bounce_Height);
  return 0; 
}

编译运行结果如下:

10次落地时共经过299.609375米
第10次反弹0.097656米

--------------------------------
Process exited after 0.106 seconds with return value 0
请按任意键继续. . .