例如:
一个球从100米高的*落下,每次落地后反跳回原高度的一半,再落下,再反弹。求第10次落地时,共经过多少米,第10次反弹多高?
这样高度要定义为浮点型变量,值得注意的是最开始下落的100米,只能计算一次,要么不进入循环最后+100就行了,要么进入循环计算,最后-100米。
#include<stdio.h> int main() { float high = 100.0; float hi = high/2; float sum = 0; int i; for(i = 2;i <= 10;i++) { sum = sum + 2*hi; //下落后还有反弹路程 要*2 hi = hi/2; } sum = sum + 100; printf("共经过%f米\n第十次反弹%f米\n",sum,hi); return 0; }