欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C语言之简单物理学问题实现

程序员文章站 2022-07-09 22:55:47
问题:       一个球从 100 米高的地方*落下,每次落地后反跳回原高度的一半,再落下,再反弹。求第10次落地时,共经过多少米,第 10 次...
问题:

      一个球从 100 米高的地方*落下,每次落地后反跳回原高度的一半,再落下,再反弹。求第10次落地时,共经过多少米,第 10 次反弹多高。

 

代码实现:

 

#include <stdio.h>
float s_n(float h,const int n,float s)//定义n次共经过多少米函数
{
 int i=0;
 while(i<n)
 {
  s=s+h;
  h=h/2;
  i++;
 }
 return s;
}
float last_h(float h,const int n)//定义第n次反弹多高函数
{
 int i=0;
 while(i<n)
 {
  h=h/2;
  i++;
 }
 return h;
}

int main()
{
 float s=0.0;
 int n=0;
 float hn=0.0;
 float h=100.0;
 printf("请输入第几次:");
 scanf("%d",&n);
 hn=last_h(h,n);
 s=s_n(h,n,s);
 printf("hn=%f\n",hn);
 printf("s=%f\n",s);
 return 0;
}