本帖最后由 Thomas-王 于 2015-6-16 14:35 编辑
如题,一个从50m高做自由落体的球体,落地后每次均反弹回原高度的一半落下在反弹。问它在第10次落地时,一共经过多少米,第10次反弹多高。/*
第10次落地所经过的过程有:
落下10次和反弹9次
*/
#include<stdio.h>
int main()
{
double s = 50, h= s / 2; // s为总高度,h为反弹高度
int i; //整型弹跳次数 i
for(i=1 ; i < 11; i++)
{
s=s+2*h; //第n次落地时共经过的米数
//第一次落地要完成 2次落下 1次反弹 所以第一次的米数为50+25+25
h=h/2; //第10次反弹高度
}
printf("第10次落地时共经过 %f 米\n" , s);
printf("第10次反弹 %f 米\n" , h);
return 0;
}
想了一上午写出来的,想求一个其他的写法学习下,最好是指针。
|
|