一球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地落地时,共经过多少m?第10次反弹多高?
看到这个题目,我们分析可以得到,第一次落地,经过的100m;第二次落地时的路程等于第一次反弹和落回的高度和即:100 + 100 / 2 * 2。因此通过书写循环,我们很容易得出第10次落地的共经过多少米。而第十次落地后,反弹的高度是第10次的距离除2得到。代码如下:
#include <stdio.h>
int main(int argc,int *argv[]) { float sn = 100.0,result = 0; int i,n=10; result += sn; for (i = 2;i <= n;i++) { sn = sn / 2; result += sn * 2; } printf("all lenth is %.3f,the 10 is height is %.3f",result,sn / 2); system("pause"); return 0; }
|
程序运算结果为:第10次落地共经历了299.609m,第10次反弹0.098m.
阅读(1202) | 评论(0) | 转发(0) |