1 /* 2 功能:一球从100米高度自由落下,每次落地后反弹回原高度的一半再落下,则它在第10次落地时共经过多少米? 3 第10次反弹多高? 4 5 6 算法设计: 7 每次落地反弹高度的一半 高度/2 8 球掉落的一半*2正好=求落下来的高度 9 */ 10 #include "stdio.h" 11 int main() 12 { 13 float sumheight = 100, dl = sumheight / 2;//初始化 14 for (int i = 2; i <= 10; i++) 15 { 16 sumheight = sumheight + dl * 2; //球掉落的一半*2正好=求落下来的高度 17 dl = dl / 2; //落地后反弹回原高度的一半再落下 18 } 19 printf("他在第十次落地时共经过%f米 ",sumheight); 20 printf("第十次反弹%f高 ", dl); 21 }