您的位置:

c语言小球反弹h,c语言小球反弹游戏

本文目录一览:

c语言,一个球从某高度h落下,每次落地后反弹回原来高度的一半,再落下。编程计算球在10次落地?

根据你的题目和输出样式截图分析:

1、每次输出当前坠落的高度,及球本次坠落后经过的距离总和。

2、输出包含小数,因此高度及距离变量采用浮点数。

3、递归/循环只执行10次。

3、看你图上,输出浮点数小数不显示多余的0,因此打印格式要用%g而不是%f(最多保留6位)。

#include stdio.h

void drop(float height);

int main()

{

  float height;

  printf("初始高度:");

  scanf("%f",height);

  drop(height);

  return 0;

}

void drop(float height)

{

  static int cnt=1;

  static float distance=0;//每次坠落后球移动的距离总和

  if(height0){

      distance+=height;

      printf("第%d次高度%g\n",cnt,height);

      printf("第%d次距离%g\n",cnt,distance);

      if(cnt10)

          cnt++,distance+=height/2,drop(height/2);

      else

          cnt=1,distance=0;

  }

}

C语言 图形程序---小球反弹

44行语法错误。

if(((x+R)=X2(y-R)=Y1)||(x-R)=X1(y-R)=Y1)||((x+R)=X2(y+R)=Y2)||((x-R)=X1(y+R)=Y2))

if 这么多括号容易混

这里少一个后括号,下修改:

if(((x+R)=X2(y-R)=Y1)||((x-R)=X1(y-R)=Y1)||((x+R)=X2(y+R)=Y2)||((x-R)=X1(y+R)=Y2))

C语言小球落地反弹

题目给出的答案不正确。

#include "stdio.h"

int main()

{float h,s,x;

 int i,n;

 scanf("%f%d",h,n);

 for(i=0;in;i++)

 {x=(int)(h*100+0.5)/100.0;

  s+=x;

  h/=2;

 } 

  printf("%.2f\n%.2f\n",s,h);

return 0;

}

C语言编写程序解决小球下落反弹问题用

#include stdio.h

main()

{

float sum=0;

int i=0;

float height=100;

sum+=height;

while(i10)

{

height=height/2;

sum+=2*height;

i++;

}

printf("总长度:%f 第10次跳%f米",sum,height);

}