读书人

一个球的有关问题

发布时间: 2012-03-19 22:03:05 作者: rapoo

一个球的问题
一个球从100米自由落下,每次落地反弹回,原高度的一半。在落下。
求他在第10次落地是,总共经过了多少米。第10次反弹了多高。
#include <stdio.h>
void main()
{
int i;
float t,b=100;

for(i=1;i <=10;i++)
{
b=b/2;
t+=b;
}

printf( "%f\t%f\t ",b,t);
}
这样写的~~不是对不对~~

[解决办法]
#include <stdio.h>
void main()
{
int i;
float t = 100,b=100;

for(i=1;i <=10;i++)
{
b=b/2;
t+=b;
}

t -= b;

printf( "%f\t%f\t ",b,t);
}
[解决办法]
这只是一个等比数列
100 + 100*0.5 + 100*0.5*0.5 + 。。。
第十次落地经过多少米 = 100*(1-0.5^10)/(1-0.5)
第十次反弹多高 = 100*(0.5^10)

#include <math.h>

void main()
{
b = 100*pow(0.5,10);
t = 100*(1-pow(0.5,10))/(1-0.5);

}

读书人网 >C语言

热点推荐