c语言问题,一个小白,还请多多关照
用调用自己编写的函数实现小球自由落体的路程和时间计算,假设小球落地后反弹的高度为下落高度的一半,,调用float zylt(float h)函数,(参数 h为下落高度,return 下落的时间 t),计算小球从高度H 到反弹高度小于1厘米(cm)时,所经过得位移和时间功能:输入初始下落高度H ,单位为厘米(cm);
输出小球的路程x,单位厘米(cm);经过的时间t,单位毫秒(ms)。 感觉好难,希望可以帮忙解决这个问题,O(∩_∩)O谢谢!!
后面做了一下,我把路程算出来,时间一直输出是0.00,调试那些都没有错,不知道哪里有问题了
结果是这样的:
请输入初始高度H,以回车结束(单位:cm ):
5213
经过的时间t为: 0.00 毫秒
路程共经过: 15628.82 厘米
Press any key to continue
#include<stdio.h>
#include<math.h>
int main()
{
float zylt(float h);
float H=0.0,s=0.0;
float h,l,x,c,b;
printf("请输入初始高度H,以回车结束(单位:cm ):\n");
scanf("%f",&H);
b=H/100;
s=b;
while(b>0.1)
{
b/=2.0;
s+=b*2;
}
c= zylt (h);
l=c*1000;
x=s*100;
printf("经过的时间t为: %.2f 毫秒\n",l);
printf("路程共经过: %.2f 厘米\n",x);
return 0;
}
float zylt(float h)
{
float t=0.0,g=10,H=0.0,m,n,j,v;
h=H/100;
m=2*h/g;
n=sqrt(m);
t=n;
while(h>0.1)
{
h/=2.0;
j=2*h/g;
v=sqrt(j);
t+=2*v;
}
return (t);
}
[此贴子已经被作者于2018-8-30 16:37编辑过]