题目及代码:
#include <stdio.h>
#include <math.h>
#define INIT_HEIGHT 100//初始高度 100
int main(int argc, const char * argv[]) {
/**
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
**/
int times=10;
int sum=100;//总高度
float height=0;//第n次落地反弹高度
for (int i=1;i<=times; i++) {
height=INIT_HEIGHT*pow(0.5, i);
if (i<=times-1) {
sum+=height*2;
}
}
printf("第%d次落地时候共经过%d米,反弹高度将为%f米\n",times,sum,height);
return 0;
}