程序问题玩皮球,球从某高度落下时,每次都反弹回原高度的1/3,再落下,再反弹回上次高度的1/3,如此反复,假设球从100CM处落下,那么第10次下落的高度是多少?在第10次落地时共经过多少路程,试用程序语言表示其算法
给学妹提供一个C代码描述的例子,仅供参考:
/*算法关键:除第1次落地外,每次落地弹起的路径长度是上一次弹起高度1/3的2倍*/
main()
{
int i; /*循环变量*/
float all_len = 100; /*路径总长,初值为100*/
float init_len = 100; /*第1次下落高度,初值为100*/
for(i =1 ;i<=9;i++) /*总次10次落地,去掉第1次,需要循环处理9次*/
{
all_len += (init_len/3)*2; /*累加每次落地路径*/
init_len = init_len/3; /*更...全部
给学妹提供一个C代码描述的例子,仅供参考:
/*算法关键:除第1次落地外,每次落地弹起的路径长度是上一次弹起高度1/3的2倍*/
main()
{
int i; /*循环变量*/
float all_len = 100; /*路径总长,初值为100*/
float init_len = 100; /*第1次下落高度,初值为100*/
for(i =1 ;i<=9;i++) /*总次10次落地,去掉第1次,需要循环处理9次*/
{
all_len += (init_len/3)*2; /*累加每次落地路径*/
init_len = init_len/3; /*更新上一次的高度*/
if(i==9)
printf("The tenth Height: %f\n",init_len); /*输出第10次的高度*/
}
printf("\nTotal len: %f\n",all_len); /*输出总的路径长度*/
getch(); /*等待键盘按键*/
}
。
收起